Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

JavaScript ตรวจสอบ Array มีค่าหรือไม่: includes() และ filter()

เมธอด 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 (ถ้ามี)