Anvendelse av funksjonsoverføring som parameter i JavaScript
La oss lage en funksjon som som parameter skal ta imot en array, og som andre parameter - en funksjon. Den overførte funksjonen skal anvendes på hvert element i arrayen:
function test(arr, func) {
// returner den modifiserte arrayen
}
La oss implementere:
function test(arr, func) {
// Starter løkken:
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]); // anvender funksjonen på hvert element
}
return arr; // returnerer den modifiserte arrayen
}
La oss anvende funksjonen vår på en array:
function test(arr, func) {
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]);
}
return arr;
}
// Transformer arrayen med tall til en array med deres kvadrater:
let result = test(
[1, 2, 3],
function(num) {return num * num;}
);
console.log(result); // vil vise [1, 4, 9]
La oss gjøre kallet til funksjonen vår mer elegant (slik er det mer vanlig):
function test(arr, func) {
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]);
}
return arr;
}
// Gjør koden mer elegant:
let result = test([1, 2, 3], function(num) {
return num * num;
});
console.log(result); // vil vise [1, 4, 9]
Uten å kikke på koden min, implementer en slik
funksjon test på egen hånd.
Kall funksjonen test du opprettet,
og send den en array med tall som parameter. Gjør
slik at funksjonen returnerer en array med kubene
av disse tallene.