Aplicação de Arrow Functions em JavaScript

As arrow functions têm uma vantagem especial como callbacks. Vamos ver com um exemplo como o código se simplifica nesse caso. Suponha, por exemplo, que temos a seguinte função filter:

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

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

Vamos chamar esta função, passando um callback para ela:

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

Agora vamos simplificar nossa função. Primeiro, vamos nos livrar da construção if e escrever a condição simplesmente usando o operador ===:

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

Agora vamos substituir a função regular por uma arrow function:

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

É dada a seguinte função com um callback:

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

Simplifique o callback usando uma arrow function.