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