Funkcijos perdavimo kaip parametro panaudojimas JavaScript
Sukurkime funkciją, kuri pirmu parametru priims masyvą, o antru parametru - funkciją. Perduota funkcija turės būti pritaikyta kiekvienam masyvo elementui:
function test(arr, func) {
// grąžinsime pakeistą masyvą
}
Implementuokime:
function test(arr, func) {
// Paleidžiame ciklą:
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]); // pritaikome funkciją kiekvienam elementui
}
return arr; // grąžiname pakeistą masyvą
}
Pritaikykime mūsų funkciją kokiam nors masyvui:
function test(arr, func) {
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]);
}
return arr;
}
// Paverčiame skaičių masyvą į jų kvadratų masyvą:
let result = test(
[1, 2, 3],
function(num) {return num * num;}
);
console.log(result); // išvestų [1, 4, 9]
Suformuokime mūsų funkcijos iškvietimą elegantiškiau (taip yra labiau priimta):
function test(arr, func) {
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]);
}
return arr;
}
// Elegantiškiau suformuojame kodą:
let result = test([1, 2, 3], function(num) {
return num * num;
});
console.log(result); // išvestų [1, 4, 9]
Nežiūrėdami į mano kodą, patys implementuokite tokią
pačią funkciją test.
Iškvieskite sukurtą funkciją test,
perduodant jai parametrą masyvą su skaičiais. Padarykite
tai, kad funkcija grąžintų masyvą su šių skaičių
kubais.