Приложение на стрелкови функции в JavaScript
Стрелковите функции имат особено предимство
като callback функции. Нека да видим с пример
колко се опростява кодът в такъв случай. Нека за пример имаме следната
функция filter:
function filter(arr, callback) {
let res = [];
for (let elem of arr) {
if ( callback(elem) === true ) {
res.push(elem);
}
}
return res;
}
Нека извикаме тази функция, като ѝ подадем callback:
let result = filter([1, 2, 3, 4, 5], function(elem) {
if (elem % 2 === 0) {
return true;
} else {
return false;
}
});
Нека сега опростим нашата функция.
Първо, нека се отървем от конструкцията
if и напишем условието просто чрез
оператора ===:
let result = filter([1, 2, 3, 4, 5], function(elem) {
return elem % 2 == 0;
});
Сега нека заменим обикновената функция със стрелкова:
let result = filter([1, 2, 3, 4, 5], elem => elem % 2 == 0);
Дадена е следната функция с callback:
let result = filter([1, 2, 3, 4, 5], function(elem) {
if (elem > 0) {
return true;
} else {
return false;
}
});
Опростете callback чрез стрелкова функция.