บทความนี้แนะนำวิธีการวนซ้ำอาร์เรย์จาวาสคริปต์สำหรับการอ้างอิงของคุณ เนื้อหาเฉพาะมีดังนี้
แต่ละวิธีจะได้รับสองพารามิเตอร์: ฟังก์ชันที่จะเรียกใช้ในแต่ละรายการและวัตถุขอบเขต (ไม่บังคับ) การรันฟังก์ชั่น
ฟังก์ชั่นที่ส่งผ่านไปยังวิธีการเหล่านี้จะได้รับพารามิเตอร์สามตัว: ค่าของรายการอาร์เรย์ตำแหน่งของรายการในอาร์เรย์และวัตถุอาร์เรย์เอง
foreach () เรียกใช้ฟังก์ชั่นที่กำหนดในแต่ละรายการในอาร์เรย์ วิธีนี้ไม่มีค่าส่งคืน
ทุก () เรียกใช้ฟังก์ชั่นที่กำหนดในแต่ละรายการในอาร์เรย์และถ้าแต่ละรายการในอาร์เรย์ส่งคืนจริงมันจะกลับมาจริง
บาง () เรียกใช้ฟังก์ชั่นที่กำหนดในแต่ละรายการในอาร์เรย์และหากรายการใด ๆ ของอาร์เรย์ส่งคืนจริงมันจะกลับมาจริง
fliter () ส่งคืนจริงถ้าแต่ละรายการของอาร์เรย์ส่งคืนจริง การส่งคืนอาร์เรย์ของรายการที่จะส่งคืนจริง
แผนที่ () ส่งคืนจริงถ้าแต่ละรายการของอาร์เรย์ส่งคืนจริง ส่งคืนอาร์เรย์ของผลลัพธ์ของการโทรแต่ละฟังก์ชัน
โปรดดูตัวอย่างต่อไปนี้:
หมายเลข var = [1,2,3,4,5,4,3,3,2,1]; // ทุก ๆ () var owerrisult = numbers.eny.ery (ฟังก์ชั่น (รายการ, ดัชนี, อาร์เรย์) {return (รายการ> 2);}); Alert (EveryResult); // false // บาง () var someresult = number.some (ฟังก์ชั่น (รายการ, ดัชนี, อาร์เรย์) {return (รายการ> 2);}); แจ้งเตือน (someresult); // true // filter () var filterResult = number.filter (ฟังก์ชั่น (รายการ, ดัชนี, อาร์เรย์) {return (รายการ> 2);}); แจ้งเตือน (FilterResult); // [3,4,5,4,3] // map () var mapResult = number.map (ฟังก์ชั่น (รายการ, ดัชนี, อาร์เรย์) {return (รายการ * 2);}); แจ้งเตือน (MapResult); // 2,4,6,8,10,8,6,4,2 เหมือนกัน //foreach()numbers.foreach(Function(TITEM, INDEX, อาร์เรย์) {Alert (รายการ);}); // องค์ประกอบการแสดงผล Windows Pop-Up หลายตัวในอาร์เรย์แยกกันวิธีการวนซ้ำจาวาสคริปต์อีกวิธีหนึ่งดังนี้
var arr = [3,4,5,6,7, "a"]; var isnum = function (elem, index, aaa) {return! isnan (elem);} var touppercase = ฟังก์ชั่น (elem) {return string.prototype.touppercase.apply ฟังก์ชั่น (elem, index) {console.log (ดัชนี+"."+elem);}/*ดำเนินการฟังก์ชั่นทดสอบในแต่ละรายการในอาร์เรย์จนกว่ารายการที่ส่งคืนเท็จสำหรับฟังก์ชั่นที่ระบุจะได้รับ ใช้วิธีนี้เพื่อตรวจสอบว่ารายการทั้งหมดในอาร์เรย์เป็นไปตามเงื่อนไขบางอย่างคล้ายกับความหมายของ &&*/var res = arr.every (isnum); console.log (res); // false;/*เรียกใช้ฟังก์ชันการทดสอบในแต่ละรายการในอาร์เรย์จนกว่ารายการที่ส่งคืนจริง ใช้วิธีนี้เพื่อตรวจสอบว่ารายการทั้งหมดในอาร์เรย์เป็นไปตามเงื่อนไขหรือไม่ คล้ายกับความหมายของ ||*/res = arr.some (isnum); console.log (res); // true/*เรียกใช้ฟังก์ชั่นทดสอบในแต่ละรายการในอาร์เรย์และสร้างอาร์เรย์ใหม่ รายการที่ส่งคืนจริงจะถูกเพิ่มในอาร์เรย์ใหม่ หากรายการส่งคืนเท็จอาร์เรย์ใหม่จะไม่มีรายการนี้ */res = arr.filter (isnum); console.log (res); // [3, 4, 5, 6, 7]/ *เรียกใช้ฟังก์ชันในแต่ละรายการในอาร์เรย์และสร้างอาร์เรย์ใหม่ */res = arr.map (touppercase); console.log (res); // ["3", "4", "5", "6", "7", "a"/*ฟังก์ชั่นดำเนินการในแต่ละรายการในอาร์เรย์โดยไม่ต้องคืนค่า*/res = arr.foreach (พิมพ์); console.log // ขยายตัวเอง/*array.prototype.every = function (fun, obj) {var len = this.length; ถ้า (typeof fun! = "function") โยน typeerror ใหม่ (); สำหรับ (var i = 0; i <len; i ++)ข้างต้นเป็นเรื่องเกี่ยวกับบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์สำหรับทุกคนในการเรียนรู้วิธีการทำซ้ำอาร์เรย์จาวาสคริปต์