JavaScript에서 함수를 매개변수로 전달하는 방법의 활용
함수를 만들어 보겠습니다. 이 함수는 첫 번째 매개변수로 배열을 받고, 두 번째 매개변수로 함수를 받습니다. 전달된 함수는 배열의 각 요소에 적용될 것입니다:
function test(arr, func) {
// 변경된 배열을 반환합니다
}
구현해 봅시다:
function test(arr, func) {
// 반복문을 실행합니다:
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]); // 각 요소에 함수를 적용합니다
}
return arr; // 변경된 배열을 반환합니다
}
이 함수를 어떤 배열에 적용해 보겠습니다:
function test(arr, func) {
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]);
}
return arr;
}
// 숫자 배열을 그 제곱 배열로 변환합니다:
let result = test(
[1, 2, 3],
function(num) {return num * num;}
);
console.log(result); // [1, 4, 9]를 출력합니다
함수 호출을 더 우아하게(일반적으로 더 선호되는 방식으로) 작성해 보겠습니다:
function test(arr, func) {
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]);
}
return arr;
}
// 코드를 더 우아하게 작성합니다:
let result = test([1, 2, 3], function(num) {
return num * num;
});
console.log(result); // [1, 4, 9]를 출력합니다
제 코드를 보지 않고 동일한
함수 test를 직접 구현해 보세요.
생성한 함수 test를 호출하고,
매개변수로 숫자 배열을 전달하세요. 함수가
이 숫자들의 세제곱 배열을 반환하도록 만드세요.