Применение передачи функции параметром в 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
,
передав ей параметром массив с числами. Сделайте
так, чтобы функция вернула массив с кубами
этих чисел.