⊗jsPmFNAFA 258 of 505 menu

Anvendelse af pilefunktioner i JavaScript

Pilefunktioner har en særlig fordel som callbacks. Lad os se med et eksempel, hvor meget koden forenkles i sådan et tilfælde. Lad os for eksempel have følgende funktion filter:

function filter(arr, callback) { let res = []; for (let elem of arr) { if ( callback(elem) === true ) { res.push(elem); } } return res; }

Lad os kalde denne funktion og give den en callback:

let result = filter([1, 2, 3, 4, 5], function(elem) { if (elem % 2 === 0) { return true; } else { return false; } });

Lad os nu forenkle vores funktion. Lad os først slippe af med konstruktionen if og skrive betingelsen simpelthen via operatoren ===:

let result = filter([1, 2, 3, 4, 5], function(elem) { return elem % 2 == 0; });

Lad os nu erstatte den almindelige funktion med en pilefunktion:

let result = filter([1, 2, 3, 4, 5], elem => elem % 2 == 0);

Følgende funktion med en callback er givet:

let result = filter([1, 2, 3, 4, 5], function(elem) { if (elem > 0) { return true; } else { return false; } });

Forenk callback'en ved hjælp af en pilefunktion.

kauzlfrhics