JavaScript Array Iteration
- หน้าก่อน JS แบบฟอร์มเรียงลำดับ
- หน้าต่อไป JS แบบฟอร์มตัวแปร
วิธีนี้ทำงานบนแต่ละสมาชิกของแนวทาง:
Array.forEach()
forEach()
วิธีนี้เรียกฟังก์ชันเพียงครั้งเดียวสำหรับแต่ละสมาชิกของแนวทาง (ฟังก์ชันคอลบแบค):
ตัวอย่าง
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value, index, array) { txt = txt + value + "<br>"; }
หมายเหตุ:ฟังก์ชันนี้รับ 3 ตัวแปร:
- ค่าโครงสร้าง
- ดัชนีโครงสร้าง
- ตัวแปรแบบมาตรฐาน
ตัวอย่างดังกล่าวใช้ตัวแปร value แค่เดียว ตัวอย่างนี้สามารถเขียนใหม่ได้:
ตัวอย่าง
var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); function myFunction(value) { txt = txt + value + "<br>"; }
ทุกบราวเซอร์ทุกตัวรุ่นทุกภาษาทุกมีความสามารถ Array.forEach()
แต่ไม่รวม Internet Explorer 8 หรือตัวรุ่นเก่ากว่านี้:
Yes | 9.0 | Yes | Yes | Yes |
Array.map()
map()
วิธีนี้ทำงานด้วยฟังก์ชันบนแต่ละสมาชิกของแนวทางเพื่อสร้างแนวทางใหม่:
map()
วิธีนี้จะไม่ทำงานบนสมาชิกแนวทางที่ไม่มีค่า:
map()
วิธีนี้จะไม่เปลี่ยนแนวทางเดิม:
ตัวอย่างนี้จะเปลี่ยนค่าทุกตัวเลขในแนวทางเป็นค่าเท่ากับสองเท่า:
ตัวอย่าง
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value, index, array) { return value * 2; }
โปรดระวังว่าฟังก์ชันนี้มี 3 ตัวแปร:
- ค่าโครงสร้าง
- ดัชนีโครงสร้าง
- ตัวแปรแบบมาตรฐาน
เมื่อฟังก์ชันคอลบแบคใช้ตัวแปร value แค่เดียว สามารถละเลยตัวแปร index และ array:
ตัวอย่าง
var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); function myFunction(value) { return value * 2; }
ทุกบราวเซอร์ทุกตัวรุ่นทุกภาษาทุกมีความสามารถ Array.map()
แต่ไม่รวม Internet Explorer 8 หรือตัวรุ่นเก่ากว่านี้:
Yes | 9.0 | Yes | Yes | Yes |
Array.filter()
filter()
วิธีนี้สร้างแนวทางใหม่ที่มีสมาชิกที่ผ่านการทดสอบ:
ตัวอย่างนี้สร้างแนวทางใหม่ด้วยสมาชิกที่มีค่ามากกว่า 18:
ตัวอย่าง
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value, index, array) { return value > 18; }
โปรดจำได้ว่าฟังก์ชันนี้รับ 3 ตัวอักษรเพิ่มเติม
- ค่าโครงสร้าง
- ดัชนีโครงสร้าง
- ตัวแปรแบบมาตรฐาน
ในตัวอย่างดังกล่าว ฟังก์ชันคอลบแบคไม่ใช้ตัวแปร index และ array ดังนั้นสามารถละเลยไม่ใช้:
ตัวอย่าง
var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); function myFunction(value) { return value > 18; }
ทุกบราวเซอร์ทุกตัวรุ่นทุกภาษาทุกมีความสามารถ Array.filter()
แต่ไม่รวม Internet Explorer 8 หรือตัวรุ่นเก่ากว่านี้:
Yes | 9.0 | Yes | Yes | Yes |
Array.reduce()
reduce()
วิธีนี้ทำงานบนแต่ละสมาชิกของแนวทางด้วยฟังก์ชันเพื่อสร้างค่าเดียว (ลดมัน):
reduce()
วิธีนี้ทำงานในแนวทางจากฝั่งซ้ายไปฝั่งขวา โปรดดู reduceRight() ด้วย:
reduce()
วิธีนี้จะไม่ลดลงของแนวทางเดิม:
ตัวอย่างนี้นับรวมค่าทั้งหมดของตัวเลขในแนวทาง:
ตัวอย่าง
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value, index, array) { return total + value; }
โปรดระวังว่าฟังก์ชันนี้รับ 4 ตัวแปร:
- จำนวนทั้งหมด (ค่าเริ่มต้น/ค่าที่กลับค่าก่อนหน้านี้)}
- ค่าโครงสร้าง
- ดัชนีโครงสร้าง
- ตัวแปรแบบมาตรฐาน
ตัวอย่างที่แล้วไม่ได้ใช้ตัวเรียงหรือตัวเรียงในภาษาอื่น สามารถเขียนมันเป็นตัวเรียงต่อไป
ตัวอย่าง
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction); function myFunction(total, value) { return total + value; }
reduce()
วิธีนี้สามารถรับค่าเริ่มต้นหนึ่ง:
ตัวอย่าง
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduce(myFunction, 100); function myFunction(total, value) { return total + value; }
ทุกบราวเซอร์ทุกตัวรุ่นทุกภาษาทุกมีความสามารถ Array.reduce()
แต่ไม่รวม Internet Explorer 8 หรือตัวรุ่นเก่ากว่านี้:
Yes | 9.0 | Yes | Yes | Yes |
Array.reduceRight()
reduceRight()
วิธีนี้ทำงานบนแต่ละสมาชิกของแนวทางด้วยฟังก์ชันเพื่อสร้างค่าเดียว (ลดมัน):
reduceRight()
วิธีนี้ทำงานในแนวทางจากฝั่งขวาไปฝั่งซ้าย โปรดดู reduce() ด้วย:
reduceRight()
วิธีนี้จะไม่ลดลงของแนวทางเดิม:
ตัวอย่างนี้นับรวมค่าทั้งหมดของตัวเลขในแนวทาง:
ตัวอย่าง
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value, index, array) { return total + value; }
โปรดระวังว่าฟังก์ชันนี้รับ 4 ตัวแปร:
- จำนวนทั้งหมด (ค่าเริ่มต้น/ค่าที่กลับค่าก่อนหน้านี้)}
- ค่าโครงสร้าง
- ดัชนีโครงสร้าง
- ตัวแปรแบบมาตรฐาน
ตัวอย่างที่แล้วไม่ได้ใช้ตัวเรียงหรือตัวเรียงในภาษาอื่น สามารถเขียนมันเป็นตัวเรียงต่อไป
ตัวอย่าง
var numbers1 = [45, 4, 9, 16, 25]; var sum = numbers1.reduceRight(myFunction); function myFunction(total, value) { return total + value; }
ทุกบราวเซอร์ทุกตัวรุ่นทุกภาษาทุกมีความสามารถ Array.reduceRight()
แต่ไม่รวม Internet Explorer 8 หรือตัวรุ่นเก่ากว่านี้:
Yes | 9.0 | Yes | Yes | Yes |
Array.every()
every()
ศาสตร์ที่ตรวจสอบค่าในตัวเรียงว่าทุกค่าผ่านการทดสอบหรือไม่
ตัวอย่างนี้ตรวจสอบค่าในตัวเรียงว่าทุกค่าใหญ่กว่า 18 หรือไม่
ตัวอย่าง
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value, index, array) { return value > 18; }
โปรดจำได้ว่าฟังก์ชันนี้รับ 3 ตัวอักษรเพิ่มเติม
- ค่าโครงสร้าง
- ดัชนีโครงสร้าง
- ตัวแปรแบบมาตรฐาน
ถ้าคำรับทางบันทึกหรือฟังก์ชันที่ใช้ค่าหรือตัวเรียงแรกเท่านั้น สามารถละเลยค่าอื่นๆ
ตัวอย่าง
var numbers = [45, 4, 9, 16, 25]; var allOver18 = numbers.every(myFunction); function myFunction(value) { return value > 18; }
ทุกบราวเซอร์ทุกตัวรุ่นทุกภาษาทุกมีความสามารถ Array.every()
แต่ไม่รวม Internet Explorer 8 หรือตัวรุ่นเก่ากว่านี้:
Yes | 9.0 | Yes | Yes | Yes |
Array.some()
some()
ศาสตร์ที่ตรวจสอบค่าในตัวเรียงว่าผ่านการทดสอบหรือไม่
ตัวอย่างนี้ตรวจสอบค่าในตัวเรียงว่ามีค่าที่ใหญ่กว่า 18 หรือไม่
ตัวอย่าง
var numbers = [45, 4, 9, 16, 25]; var someOver18 = numbers.some(myFunction); function myFunction(value, index, array) { return value > 18; }
โปรดจำได้ว่าฟังก์ชันนี้รับ 3 ตัวอักษรเพิ่มเติม
- ค่าโครงสร้าง
- ดัชนีโครงสร้าง
- ตัวแปรแบบมาตรฐาน
ทุกบราวเซอร์ทุกตัวรุ่นทุกภาษาทุกมีความสามารถ Array.some()
แต่ไม่รวม Internet Explorer 8 หรือตัวรุ่นเก่ากว่านี้:
Yes | 9.0 | Yes | Yes | Yes |
Array.indexOf()
indexOf()
ศาสตร์ที่ค้นหาค่าหรือตัวเรียงในตัวเรียงและกลับค่าตำแหน่งของมัน
หมายเหตุ:ตำแหน่งของสิ่งที่ต้องการแรกคือ 0 ตำแหน่งของสิ่งที่ต้องการที่สองคือ 1 และอย่างนั้นต่อไป
ตัวอย่าง
ค้นหาสิ่งที่ต้องการในตัวเรียง array "Apple":
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
ทุกบราวเซอร์ทุกตัวรุ่นทุกภาษาทุกมีความสามารถ Array.indexOf()
แต่ไม่รวม Internet Explorer 8 หรือตัวรุ่นเก่ากว่านี้:
Yes | 9.0 | Yes | Yes | Yes |
ภาษาบัญญัติ
array.indexOf(item, เริ่มต้น)
item | สำคัญ สำหรับการค้นหาสิ่งที่ต้องการ |
เริ่มต้น | ตัวเลือก จากที่ไหนเริ่มค้นหา ค่าลบจะทำการค้นหาจากทางด้านท้ายของตัวเรียงจนถึงทางด้านหน้า |
ถ้าไม่พบสิ่งที่ต้องการArray.indexOf()
กลับค่า -1
ถ้าสิ่งที่ต้องการมีการปรากฏหลายครั้ง ก็จะทำการกลับค่าตำแหน่งที่ปรากฏครั้งแรก
Array.lastIndexOf()
Array.lastIndexOf()
เช่นเดียวกัน Array.indexOf()
คล้ายกัน แต่ค้นหาจากทางด้านท้ายของตัวเรียง
ตัวอย่าง
ค้นหาสิ่งที่ต้องการในตัวเรียง array "Apple":
var fruits = ["Apple", "Orange", "Apple", "Mango"]; var a = fruits.lastIndexOf("Apple");
ทุกบราวเซอร์ทุกตัวรุ่นทุกภาษาทุกมีความสามารถ Array.lastIndexOf()
แต่ไม่รวม Internet Explorer 8 หรือตัวรุ่นเก่ากว่านี้:
Yes | 9.0 | Yes | Yes | Yes |
ภาษาบัญญัติ
array.lastIndexOf(item, เริ่มต้น)
item | สำคัญ สำหรับการค้นหาสิ่งที่ต้องการ |
เริ่มต้น | ที่มีความเลือกได้ จากที่ไหนเริ่มค้นหา ค่าลบจะเริ่มจากท้ายและค้นหาไปจนถึงต้น |
Array.find()
find()
วิธีนี้กลับค่าขององค์ประกอบแรกที่ผ่านการทดสอบฟังก์ชัน
ตัวอย่างนี้หาค่าขององค์ประกอบแรกที่มีค่ามากกว่า 18 (กลับค่า):
ตัวอย่าง
var numbers = [4, 9, 16, 25, 29]; var first = numbers.find(myFunction); function myFunction(value, index, array) { return value > 18; }
โปรดจำได้ว่าฟังก์ชันนี้รับ 3 ตัวอักษรเพิ่มเติม
- ค่าโครงสร้าง
- ดัชนีโครงสร้าง
- ตัวแปรแบบมาตรฐาน
เบราเรอร์ที่เก่าแก่ไม่สนับสนุน Array.find()
ด้านล่างนี้คือรุ่นเบราเรอร์แรกที่สนับสนุนวิธีนี้ทั้งหมด:
45 | 12 | 25 | 8 | 32 |
Array.findIndex()
findIndex()
วิธีนี้กลับค่าดัชนีขององค์ประกอบแรกที่ผ่านการทดสอบฟังก์ชัน
ตัวอย่างนี้หาดัชนีขององค์ประกอบแรกที่มีค่ามากกว่า 18:
ตัวอย่าง
var numbers = [4, 9, 16, 25, 29]; var first = numbers.findIndex(myFunction); function myFunction(value, index, array) { return value > 18; }
โปรดจำได้ว่าฟังก์ชันนี้รับ 3 ตัวอักษรเพิ่มเติม
- ค่าโครงสร้าง
- ดัชนีโครงสร้าง
- ตัวแปรแบบมาตรฐาน
เบราเรอร์ที่เก่าแก่ไม่สนับสนุน Array.findIndex()
ด้านล่างนี้คือรุ่นเบราเรอร์แรกที่สนับสนุนวิธีนี้ทั้งหมด:
45 | 12 | 25 | 8 | 32 |
- หน้าก่อน JS แบบฟอร์มเรียงลำดับ
- หน้าต่อไป JS แบบฟอร์มตัวแปร