array_map 함수 설명
array_map
함수는 주어진 배열(또는 그 범위)의 수정된 버전을 반환하는 함수입니다. 이 함수는 콜백 함수를 기반으로 작동합니다. 배열과 콜백 메서드를 제공하면, 이 콜백 함수가 주어진 배열의 각 요소에 대해 호출됩니다. 콜백 함수는 어떤 값이든 반환할 수 있으며, 이 값은 새로운 배열의 해당 인덱스에 적용됩니다. 모든 요소에 대해 콜백이 실행된 후, 수정된 배열(또는 영향을 받은 범위)이 새로운 배열로 반환됩니다. 원래의 배열은 변경되지 않습니다.
콜백 함수
이 함수에 전달하는 콜백 함수는 다음과 같은 인자를 받아야 합니다:
인자 | 타입 | 설명 |
---|---|---|
element | Any | 현재 배열 요소 |
index | Real | 현재 배열 인덱스 |
이 콜백 함수는 배열 요소에 다시 적용될 Any 타입의 값을 반환해야 합니다.
예제
다음은 array_map
함수의 사용 예제입니다:
var _numbers = [1, 2, 3, 4, 5];
var _double = function (_element, _index) {
return _element * 2;
};
var _numbers_doubled = array_map(_numbers, _double);
위 코드는 1부터 5까지의 숫자를 가진 _numbers
배열을 생성합니다. _double
함수는 배열 요소와 인덱스를 받아 요소를 2배로 곱한 값을 반환합니다. 이 함수는 array_map
호출에 사용되어 모든 숫자가 2배로 증가된 수정된 배열을 반환합니다: [2, 4, 6, 8, 10]
.
활용 예제
- 문자열 길이 계산하기
gml var _strings = ["apple", "banana", "cherry"]; var _lengths = array_map(_strings, function (_element, _index) { return string_length(_element); });
- 배열 요소에 특정 값 더하기
gml var _numbers = [10, 20, 30]; var _add_five = array_map(_numbers, function (_element, _index) { return _element + 5; });
- 배열의 각 요소를 대문자로 변환하기
gml var _words = ["hello", "world"]; var _upper_case = array_map(_words, function (_element, _index) { return string_upper(_element); });
- 배열 요소 제곱하기
gml var _numbers = [1, 2, 3, 4]; var _squared = array_map(_numbers, function (_element, _index) { return _element * _element; });
- 배열 요소를 불리언으로 변환하기
gml var _numbers = [0, 1, 2, 3]; var _booleans = array_map(_numbers, function (_element, _index) { return _element > 0; });
이와 같이 array_map
함수는 배열의 각 요소를 변형하는 데 유용하게 사용될 수 있습니다.