Примена на стрелкови функции во JavaScript

Стрелковите функции имаат посебна предност како колбэкови. Ајде да видиме на пример, колку се поедноставува кодот во таков случај. Да претпоставиме за пример дека ја имаме следнава функција filter:

javascriptfunction filter(arr, callback) {
  let res = [];

  for (let elem of arr) {
    if ( callback(elem) === true ) {
      res.push(elem);
    }
  }
  
  return res;
}

Да ја повикаме оваа функција, пренесувајќи и колбэк:

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

Сега ајде да ја поедноставиме нашата функција. За почеток, ајде да се ослободиме од конструкцијата if и да го напишеме условот едноставно преку операторот ===:

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

Сега да ја замениме редовната функција со стрелкова:

javascriptlet result = filter([1, 2, 3, 4, 5], elem => elem % 2 == 0);
Задание 1

Дадена е следнава функција со колбэк:

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

Поедноставете го колбэков преку стрелкова функција.