วิธีการค้นหาใน Array ของ JavaScript

JavaScript มีเมธอดสำเร็จรูป (built-in methods) สำหรับการค้นหาองค์ประกอบใน Array เครื่องมือเหล่านี้จะช่วยให้คุณระบุตำแหน่งหรือตรวจสอบว่ามีค่านั้นอยู่หรือไม่

นี่คือเมธอดหลักที่คุณควรทราบ:

  • indexOf() ค้นหา index แรกขององค์ประกอบที่ระบุ หากไม่พบองค์ประกอบนั้นจะคืนค่าเป็น -1 ตัวอย่าง: const fruits = ["Apple", "Banana", "Mango", "Banana"]; fruits.indexOf("Banana"); // คืนค่า 1

  • lastIndexOf() ค้นหา index สุดท้ายขององค์ประกอบที่ระบุ หากไม่พบองค์ประกอบนั้นจะคืนค่าเป็น -1 ตัวอย่าง: const fruits = ["Apple", "Banana", "Mango", "Banana"]; fruits.lastIndexOf("Banana"); // คืนค่า 3

  • includes() ตรวจสอบว่ามีองค์ประกอบนั้นอยู่ใน Array ของคุณหรือไม่ โดยจะคืนค่าเป็น true หรือ false ตัวอย่าง: const fruits = ["Apple", "Banana", "Mango"]; fruits.includes("Mango"); // คืนค่า true fruits.includes("Orange"); // คืนค่า false

  • find() คืนค่าองค์ประกอบแรกที่ตรงตามเงื่อนไขที่คุณกำหนด หากไม่พบค่าที่ตรงกันจะคืนค่า undefined ตัวอย่าง: const numbers = [5, 12, 8, 20]; const result = numbers.find(num => num > 10); // คืนค่า 12

  • findIndex() คืนค่า index ขององค์ประกอบแรกที่ตรงตามเงื่อนไขที่คุณกำหนด หากไม่พบค่าที่ตรงกันจะคืนค่า -1 ตัวอย่าง: const numbers = [5, 12, 8, 20]; const index = numbers.findIndex(num => num > 10); // คืนค่า 1

  • findLast() คืนค่าองค์ประกอบสุดท้ายที่ตรงตามเงื่อนไขที่คุณกำหนด โดยจะค้นหาจากท้าย Array ตัวอย่าง: const numbers = [5, 12, 8, 20]; const result = numbers.findLast(num => num > 10); // คืนค่า 20

  • findLastIndex() คืนค่า index ขององค์ประกอบสุดท้ายที่ตรงตามเงื่อนไขที่คุณกำหนด ตัวอย่าง: const numbers = [5, 12, 8, 20]; const index = numbers.findLastIndex(num => num > 10); // คืนค่า 3

สรุป:

• indexOf() คืนค่า index แรก • lastIndexOf() คืนค่า index สุดท้าย • includes() ตรวจสอบการมีอยู่ของค่า • find() คืนค่าแรกที่ตรงตามเงื่อนไข • findIndex() คืนค่า index แรกที่ตรงตามเงื่อนไข • findLast() คืนค่าสุดท้ายที่ตรงตามเงื่อนไข • findLastIndex() คืนค่า index สุดท้ายที่ตรงตามเงื่อนไข

แหล่งที่มา: https://www.w3schools.com/js/js_array_search.asp

โพสต์ฉบับเต็ม: https://dev.to/kamalesh_ar_6252544786997/array-search-methods-in-javascript-23mk