การใช้งานฟังก์ชันลูกศรใน 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;
  }
});

จงทำให้คอลแบ็คนี้ง่ายขึ้นโดยใช้ฟังก์ชันลูกศร