Nuolifunktioiden käyttö JavaScriptissä
Nuolifunktioilla on erityinen etu
callback-funktioina. Katsotaan esimerkillä,
kuinka paljon koodia yksinkertaistuu tällaisessa
tapauksessa. Oletetaan esimerkiksi, että meillä on seuraava
funktio filter:
function filter(arr, callback) {
let res = [];
for (let elem of arr) {
if ( callback(elem) === true ) {
res.push(elem);
}
}
return res;
}
Kutsutaan tätä funktiota välittämällä sille callback-funktio:
let result = filter([1, 2, 3, 4, 5], function(elem) {
if (elem % 2 === 0) {
return true;
} else {
return false;
}
});
Yksinkertaistetaan nyt funktiotamme.
Aluksi päästään eroon
if-rakenteesta ja kirjoitetaan ehto yksinkertaisesti
===-operaattorin avulla:
let result = filter([1, 2, 3, 4, 5], function(elem) {
return elem % 2 == 0;
});
Korvataan nyt tavallinen funktio nuolifunktiolla:
let result = filter([1, 2, 3, 4, 5], elem => elem % 2 == 0);
Annettu seuraava funktio callback-funktiolla:
let result = filter([1, 2, 3, 4, 5], function(elem) {
if (elem > 0) {
return true;
} else {
return false;
}
});
Yksinkertaista callback-funktio nuolifunktioksi.