การค้นหาแบบเรียง JavaScript
วิธีค้นหาและการค้นหาใน array
- Array indexOf()
- Array lastIndexOf()
- Array includes()
- Array find()
- Array findIndex()
- Array findLast()
- Array findLastIndex()
ดูเพิ่มเติม:
JavaScript Array indexOf()
indexOf()
วิธีนี้ค้นหาค่าขององค์ประกอบใน array และกลับมาแสดงตำแหน่งของมัน
จำเป็นตำแหน่งขององค์ประกอบแรกคือ 0 ตำแหน่งขององค์ประกอบที่สองคือ 1 และอื่นๆ ตามลำดับ
ʵ
ค้นหาองค์ประกอบ "Apple" ใน array:
const fruits = ["Apple", "Orange", "Apple", "Mango"]; let position = fruits.indexOf("Apple") + 1;
การใช้งาน
array.indexOf(item, start)
item | จำเป็น. สิ่งที่ต้องการค้นหา |
start | เลือกตั้งได้. ตำแหน่งที่เริ่มค้นหา. หากมีค่าลบ จะเริ่มนับจากด้านหลังของ array และค้นหาไปจนถึงท้าย |
ค่าที่กลับมา:
- หากไม่พบองค์ประกอบ ก็จะกลับมาแสดง -1
- หากองค์ประกอบปรากฏขึ้นหลายครั้ง ก็จะกลับมาแสดงตำแหน่งที่ปรากฏขึ้นครั้งแรก
JavaScript Array lastIndexOf()
lastIndexOf()
วิธีเดียวกันกับ indexOf()
เหมือนกัน แต่กลับมาแสดงตำแหน่งที่องค์ประกอบนี้ปรากฏขึ้นครั้งสุดท้าย
ʵ
ค้นหาองค์ประกอบ "Apple" ใน array:
const fruits = ["Apple", "Orange", "Apple", "Mango"]; let position = fruits.lastIndexOf("Apple") + 1;
การใช้งาน
array.lastIndexOf(item, start)
item | จำเป็น. สิ่งที่ต้องการค้นหา |
start | เลือกตั้งได้. ตำแหน่งที่เริ่มค้นหา. หากมีค่าลบ จะเริ่มนับจากด้านหลังของ array และค้นหาไปจนถึงต้น |
JavaScript Array includes()
ECMAScript 2016 ได้นำเสนอ Array.includes()
วิธีนี้ มีสภาพความสามารถที่อนุญาตให้เราตรวจสอบว่ามีอิทธิพลในตัวแปร array หรือไม่ (รวมถึง NaN ซึ่งต่างจาก indexOf)
ʵ
const ผลไม้ = ["Banana", "Orange", "Apple", "Mango"]; fruits.includes("Mango"); // ส่งค่า true
การใช้งาน
array.includes(search-item)
search-itemเพื่อค้นหาองค์ประกอบ
จำเป็นincludes()
สามารถตรวจสอบค่า NaN และ indexOf()
ไม่สามารถ
˹
includes()
เป็น ECMAScript 2016 คุณสมบัติ
ตั้งแต่มีนาคม 2017 ปี ทุกบราวเซอร์ที่สมัยใหม่ทุกตัวเข้าถึง ES2016:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 52 | Edge 15 | Firefox 52 | Safari 10.1 | Opera 39 |
กรกฎาคม 2016 ปี | เมษายน 2017 ปี | มีนาคม 2017 ปี | พฤษภาคม 2017 ปี | กรกฎาคม 2016 ปี |
Internet Explorer ไม่สนับสนุน includes()
JavaScript Array find()
find()
วิธีนี้ส่งค่าองค์ประกอบแรกที่ผ่านทางการทดสอบฟังก์ชัน
ʵ
ค้นหาองค์ประกอบแรกที่มากกว่า 18:
const numbers = [4, 9, 16, 25, 29]; let first = numbers.find(myFunction); function myFunction(value, index, array) { return value > 18; }
จำเป็นฟังก์ชันรับ 3 ตัวอักษร
- ค่าองค์ประกอบ
- ดัชนีองค์ประกอบ
- ตัวแปรแถว
˹
find()
เป็นคุณสมบัติของ ES6 (JavaScript 2015)
ตั้งแต่มิถุนายน 2017 ปี ทุกบราวเซอร์ที่สมัยใหม่ทุกตัวเข้าถึง ES6:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
พฤษภาคม 2016 ปี | เมษายน 2017 ปี | มิถุนายน 2017 ปี | กันยายน 2016 ปี | มิถุนายน 2016 ปี |
Internet Explorer ไม่สนับสนุน find()
.
JavaScript Array findIndex()
findIndex()
วิธีนี้ส่งค่าดัชนีขององค์ประกอบแรกที่ผ่านทางการทดสอบฟังก์ชัน
ʵ
ค้นหาดัชนีขององค์ประกอบแรกที่มากกว่า 18:
const numbers = [4, 9, 16, 25, 29]; let first = numbers.findIndex(myFunction); function myFunction(value, index, array) { return value > 18; }
จำเป็นฟังก์ชันรับ 3 ตัวอักษร
- ค่าองค์ประกอบ
- ดัชนีองค์ประกอบ
- ตัวแปรแถว
˹
findIndex()
เป็นคุณสมบัติของ ES6 (JavaScript 2015)
ตั้งแต่มิถุนายน 2017 ปี ทุกบราวเซอร์ที่สมัยใหม่ทุกตัวเข้าถึง ES6:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
พฤษภาคม 2016 ปี | เมษายน 2017 ปี | มิถุนายน 2017 ปี | กันยายน 2016 ปี | มิถุนายน 2016 ปี |
Internet Explorer ไม่สนับสนุน findIndex()
.
JavaScript Array findLast()
ES2023 ได้เพิ่มขึ้น findLast()
วิธีที่มีการค้นหาจากทางด้านหลังของตัวแปรและส่งค่าขององค์ประกอบที่สอดคล้องเรียกว่าค่าแรก
ʵ
const temp = [27, 28, 30, 40, 42, 35, 30]; let สูง = temp.findLast(x => x > 40);
˹
findLast()
ES2023
2023 7 ʼáȫ˹
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 110 | Edge 110 | Firefox 115 | Safari 16.4 | Opera 96 |
2023 2 | 2023 2 | 2023 7 | 2023 3 | 2023 5 |
JavaScript Array findLastIndex()
findLastIndex()
ҵָʽһ
ʵ
const temp = [27, 28, 30, 40, 42, 35, 30]; let pos = temp.findLastIndex(x => x > 40);
˹
findLastIndex()
ES2023
2023 7 ʼáȫ˹
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 110 | Edge 110 | Firefox 115 | Safari 16.4 | Opera 96 |
2023 2 | 2023 2 | 2023 7 | 2023 3 | 2023 5 |
ȫбȺʾ
ҪȫбȺʵʣJavaScript ʾ.
øʾиȫбȺʵ