Aplicación de las funciones flecha en JavaScript

Las funciones flecha tienen una ventaja especial como callbacks. Veamos con un ejemplo cuánto se simplifica el código en tal caso. Supongamos para el ejemplo que tenemos la siguiente función filter:

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

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

Llamemos a esta función, pasándole un callback:

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

Ahora simplifiquemos nuestra función. Primero, eliminemos la construcción if y escribamos la condición simplemente mediante el operador ===:

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

Ahora reemplacemos la función regular por una función flecha:

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

Se da la siguiente función con callback:

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

Simplifique el callback usando una función flecha.