array_map_ext 함수 설명
array_map_ext
함수는 array_map
과 유사하지만, 새로운 배열을 반환하는 대신 인자로 전달된 원래 배열을 수정합니다. 이 함수는 배열의 모든 요소에 대해 실행되는 콜백 함수를 제공합니다. 콜백 함수는 어떤 값을 반환할 수 있으며, 이 값은 원래 배열에 다시 적용됩니다. 적용은 주어진 offset
인덱스에서 시작하여 length
매개변수의 부호에 따라 진행됩니다. 이 함수는 주어진 오프셋 위치에서 시작하여 길이 인수에 의해 설정된 방향으로 수정된 유효한 요소의 수를 반환합니다.
콜백 함수
이 함수에 전달하는 콜백 함수는 다음과 같은 인자를 받아야 합니다:
인자 | 타입 | 설명 |
---|---|---|
element | Any | 현재 배열 요소 |
index | Real | 현재 배열 인덱스 |
이 콜백 함수는 배열 요소에 다시 적용될 수 있는 Any 타입의 값을 반환해야 합니다.
반환값
- Real: 배열에서 유효한 요소의 수
예제
var _values = [7, 4, 11, 9, 12, 21, 17, 1, 2, 3];
elements = array_map_ext(_values, sqr, 2, 5);
위의 코드는 먼저 숫자 집합을 가진 _values
배열을 생성합니다. 그런 다음 array_map_ext
를 사용하여 배열의 특정 범위에 대해 내장 함수 sqr
을 적용합니다. 함수 실행 후, 배열 _values
는 인덱스 2에서 6까지 원래 값의 제곱을 포함하게 됩니다.
활용 예제
- 배열의 모든 요소를 두 배로 만드는 함수
function double(element, index) {
return element * 2;
}
var numbers = [1, 2, 3, 4, 5];
array_map_ext(numbers, double, 0, array_length(numbers));
- 배열의 모든 요소에 10을 더하는 함수
function add_ten(element, index) {
return element + 10;
}
var values = [5, 15, 25];
array_map_ext(values, add_ten, 0, array_length(values));
- 배열의 모든 요소를 문자열로 변환하는 함수
function to_string(element, index) {
return string(element);
}
var mixed = [1, 2, 3, 4];
array_map_ext(mixed, to_string, 0, array_length(mixed));
- 배열의 모든 요소를 제곱하는 함수
function square(element, index) {
return element * element;
}
var nums = [2, 3, 4];
array_map_ext(nums, square, 0, array_length(nums));
- 배열의 모든 요소를 음수로 만드는 함수
function to_negative(element, index) {
return -element;
}
var positives = [1, 2, 3, 4];
array_map_ext(positives, to_negative, 0, array_length(positives));
이와 같이 array_map_ext
함수는 배열의 요소를 수정하는 데 유용하게 사용될 수 있습니다.