Funktionin välittäminen parametrina JavaScriptissä
Tehdään funktio, joka ottaa parametrinaan taulukon ja toisena parametrina - funktion. Annetun funktion tulisi kohdistua jokaiseen taulukon elementtiin:
function test(arr, func) {
// palautetaan muokattu taulukko
}
Toteutetaan:
function test(arr, func) {
// Käynnistetään silmukka:
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]); // sovelletaan funktiota jokaiseen elementtiin
}
return arr; // palautetaan muokattu taulukko
}
Sovelletaan funktiotamme johonkin taulukkoon:
function test(arr, func) {
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]);
}
return arr;
}
// Muunnetaan numerotaulukko niiden neliöiksi:
let result = test(
[1, 2, 3],
function(num) {return num * num;}
);
console.log(result); // tulostaa [1, 4, 9]
Muotoillaan funktiokutsumme tyylikkäämmin (näin on yleisempää):
function test(arr, func) {
for (let i = 0; i < arr.length; i++) {
arr[i] = func(arr[i]);
}
return arr;
}
// Muotoillaan koodi tyylikkäämmin:
let result = test([1, 2, 3], function(num) {
return num * num;
});
console.log(result); // tulostaa [1, 4, 9]
Katsomatta koodiini toteuta samanlainen
funktio test itse.
Kutsu tekemäsi funktio test,
välittäen sille parametrina taulukon numeroita. Tee
näin, että funktio palauttaa taulukon näiden numeroiden kuutioista.