array_find_index 함수 설명
array_find_index
함수는 주어진 조건을 만족하는 첫 번째 배열 요소의 인덱스를 찾는 데 사용됩니다. 이 함수는 배열의 모든 요소에 대해 실행되는 Predicate Function을 입력으로 받습니다. 이 함수는 조건에 따라 true
또는 false
를 반환해야 합니다.
Predicate 함수가 배열의 요소에 대해 true
를 반환하는 즉시, array_find_index
함수는 그 요소의 인덱스를 반환하고 종료됩니다. 만약 어떤 요소도 true
를 반환하지 않으면, 함수는 -1
을 반환합니다.
- 오프셋으로
-1
을 사용하고 길이를 음수(-무한대)로 설정하면, 이 함수는 배열의 끝에서부터 거꾸로 검색하여 조건을 만족하는 마지막 요소를 찾을 수 있습니다.
반환값
- 실수형: 찾은 첫 번째 요소의 인덱스 또는 아무것도 찾지 못했을 경우
-1
예제
var _f = function(_element, _index) {
return (_element > 0);
};
var _array = [-1, -8, -2, -4, 0, 3, 8, 7, 5];
var _index = array_find_index(_array, _f);
위의 코드는 배열 요소와 그 인덱스를 입력으로 받는 함수를 생성합니다. 이 함수는 요소가 0보다 크면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다. 그런 다음 값이 포함된 배열을 생성합니다. 마지막으로 array_find_index
를 사용하여 인덱스를 찾고, 이를 임시 변수 index
에 저장합니다. 이 변수는 배열에서 첫 번째 양수 값인 3의 인덱스인 5를 포함하게 됩니다.
활용 예제
- 짝수 찾기
var _is_even = function(_element, _index) {
return (_element mod 2 == 0);
};
var _numbers = [1, 3, 5, 2, 4, 6];
var _even_index = array_find_index(_numbers, _is_even);
- 특정 문자열 찾기
var _is_target_string = function(_element, _index) {
return (_element == "target");
};
var _strings = ["apple", "banana", "target", "orange"];
var _target_index = array_find_index(_strings, _is_target_string);
- 최대값 찾기
var _is_max_value = function(_element, _index) {
return (_element == 10);
};
var _values = [1, 2, 10, 4, 5];
var _max_index = array_find_index(_values, _is_max_value);
- 음수 찾기
var _is_negative = function(_element, _index) {
return (_element < 0);
};
var _mixed_numbers = [3, -1, 2, -4, 5];
var _negative_index = array_find_index(_mixed_numbers, _is_negative);
- 특정 조건의 객체 찾기
var _is_high_score = function(_element, _index) {
return (_element.score > 100);
};
var _players = [{name: "Alice", score: 50}, {name: "Bob", score: 150}];
var _high_score_index = array_find_index(_players, _is_high_score);
이와 같은 방식으로 array_find_index
함수를 활용하여 다양한 조건을 만족하는 요소의 인덱스를 쉽게 찾을 수 있습니다.