วิธีการค้นหาใน 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
