เมธอด JavaScript includes() ค้นหา item ใน array คืนค่า true ถ้าพบ false ถ้าไม่พบ filter() หา item ใน list คืนค่า item ที่หา (ต่างจาก includes() ที่คืน boolean)
2 วิธีเช็ค Array Contains Item
includes()filter()
includes() เช็คว่า item มีใน array ไหม คืน true/false filter() หา item ใน array คืน item นั้นเอง
includes() Method
includes() ตรวจสอบว่า array มีค่าที่ระบุหรือไม่ คืน true ถ้าพบ false ถ้าไม่พบ
Syntax:
array_name.includes(element, start_position);
Arguments:
- element (required): ค่าที่ต้องการค้นหา
- start_position (optional): index เริ่มต้นค้นหา
คืนค่า Boolean: true/false ทำงานคล้าย String.includes() แต่ค้นหาใน array of objects
ตัวอย่าง includes()
ร้านกาแฟ เช็คว่ามีสั่ง espresso วันนี้ไหม:
var todays_orders = ['Latte', 'Americano', 'Latte', 'Latte', 'Mocha', 'Cortado'];
console.log(todays_orders.includes('Espresso')); // false
ไม่มี Espresso คืน false
เช็ค 3 order ล่าสุดว่ามี Latte ไหม (start_position = 3):
console.log(todays_orders.includes('Latte', 3)); // true
มี Latte หลัง index 3 คืน true
filter() Method สำหรับ Array of Objects
includes() ใช้กับ array of strings สำหรับ array of objects ใช้ filter()
filter() iterate array of objects ค้นหาค่าที่กำหนด รับ 1 argument: function สำหรับค้นหา
Syntax:
var filterArray = array_name.filter(function(item) {
return item;
});
ตัวอย่าง filter()
Array ของ coffee orders (object มี drink และ customer name):
var orders = [
{ drink: 'Cappuccino', name: 'John Appleseed' },
{ drink: 'Espresso', name: 'Mya Stuart' },
{ drink: 'Cappuccino', name: 'Emma Berry' }
];
var check_orders = orders.filter(order => order.name === "John Appleseed");
console.log(check_orders);
// [{ drink: 'Cappuccino', name: 'John Appleseed' }]
John Appleseed สั่งไปแล้ว คืน object order ของเขา ถ้าไม่สั่ง คืน empty array
สรุป
includes() เช็คค่าใน array คืน true/false filter() เช็คค่าใน array of objects คืน object ที่ match criteria (ถ้ามี)