Примена прослеђивања функције као параметра у 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,
прослеђујући јој као параметар низ са бројевима. Направите
тако да функција врати низ са кубовима
тих бројева.