Ứng dụng hàm mũi tên trong JavaScript

Hàm mũi tên có một lợi thế đặc biệt khi được dùng làm callback. Hãy cùng xem qua ví dụ, code sẽ được đơn giản hóa đến mức nào trong trường hợp này. Giả sử chúng ta có hàm filter sau làm ví dụ:

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

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

Hãy gọi hàm này, truyền cho nó một callback:

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

Bây giờ hãy đơn giản hóa hàm của chúng ta. Đầu tiên, hãy loại bỏ cấu trúc if và viết điều kiện đơn giản qua toán tử ===:

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

Bây giờ hãy thay thế hàm thông thường bằng hàm mũi tên:

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

Cho hàm với callback sau:

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

Hãy đơn giản hóa callback bằng hàm mũi tên.