Utilizarea funcțiilor săgeți în JavaScript

Funcțiile săgeți au un avantaj deosebit ca callbacks. Să vedem cu un exemplu cât de mult se simplifică codul în acest caz. Să presupunem că pentru exemplu avem următoarea funcție filter:

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

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

Să apelăm această funcție, transmitându-i un callback:

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

Acum să simplificăm funcția noastră. Pentru început, să scăpăm de construcția if și să scriem condiția simplu prin operatorul ===:

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

Acum să înlocuim funcția obișnuită cu o funcție săgeată:

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

Este dată următoarea funcție cu callback:

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

Simplificați callback-ul folosind o funcție săgeată.