1. foreach iterator
วิธีการ foreach ได้รับฟังก์ชันเป็นพารามิเตอร์ใช้ฟังก์ชันนี้สำหรับแต่ละองค์ประกอบในอาร์เรย์และเรียกใช้ฟังก์ชันนี้เท่านั้นอาร์เรย์เองไม่ได้เปลี่ยนแปลงใด ๆ
// foreach iterator function square (num) {document.write (num + '' + num*num + '<br>');} var nums = [1,2,3,4,5,6,7,7,8]; nums.foreach (สี่เหลี่ยม);ผลลัพธ์ผลลัพธ์ในเบราว์เซอร์คือ:
2. Iterator ทุกคน
ทุกวิธียอมรับฟังก์ชั่นที่มีค่าส่งคืนบูลีนและใช้ฟังก์ชั่นนี้สำหรับแต่ละองค์ประกอบในอาร์เรย์ หากฟังก์ชั่นส่งคืนจริงสำหรับองค์ประกอบทั้งหมดวิธีการจะกลับมาจริงมิฉะนั้นจะส่งคืนเท็จ
// ฟังก์ชั่น iterator iseven (num) {return num % 2 == 0;} var nums = [2,4,6,8]; document.write (nums.every (iseven));3. ตัววนซ้ำบางคน
บางวิธียังยอมรับฟังก์ชั่นที่มีค่าส่งคืนบูลีน ตราบใดที่มีองค์ประกอบที่ทำให้ฟังก์ชั่นกลับมาเป็นจริงวิธีการจะกลับมาเป็นจริง
// ฟังก์ชั่นตัววนซ้ำบางอย่าง iseven (num) {return num % 2 == 0;} var nums = [1,3,5,7]; document.write (nums.some (iseven));4. ลดตัววนซ้ำ
ลดวิธีการรับฟังก์ชั่นและส่งคืนค่า วิธีการเริ่มต้นด้วยค่าสะสมเรียกฟังก์ชันอย่างต่อเนื่องในค่าที่สะสมและองค์ประกอบที่ตามมาในอาร์เรย์รู้องค์ประกอบสุดท้ายในอาร์เรย์และในที่สุดก็ได้รับค่าสะสมที่ส่งคืน
// ลดฟังก์ชั่น iterator เพิ่ม (runningtotal, currentValue) {return runningtotal + currentValue;} var nums = [1,2,3,4,5,5,6,7,8,9,10]; var sum = nums.reduce (เพิ่ม); document.write (ผลรวม);ผลที่ได้คือ: 55
เมื่อรวมกับ add() reduce() องค์ประกอบในอาร์เรย์จะรวมจากซ้ายไปขวา กระบวนการดำเนินการมีดังนี้:
เพิ่ม (1,2) -> 3ADD (3,3) -> 6ADD (6,4) -> 10ADD (10,5) -> 15ADD (15,6) -> 21ADD (21,7) -> 28ADD (28,8) -> 36ADD (36,9) -> 45ADD (45,10) -> 55
วิธี reduce วิธีการเชื่อมโยงองค์ประกอบในอาร์เรย์ลงในสตริงยาว รหัสมีดังนี้
// ใช้การลดลงเพื่อเชื่อมต่อองค์ประกอบอาร์เรย์ concatenate concat (สะสมสติ้ง, รายการ) {return umcumulatedString + item;} var words = ['the', 'ด่วน', 'บราวน์', 'Fox']; var sentence = words.reduce (concat); document.write (ประโยค);ผลลัพธ์ผลลัพธ์สุดท้ายมีดังนี้:
JavaScript ยังมีวิธี reduceRight ซึ่งดำเนินการจากขวาไปซ้ายซึ่งแตกต่างจากวิธี Reduce ลงดังนี้:
// ใช้การลดลงเพื่อเชื่อมต่อองค์ประกอบอาเรย์ concat (สะสม string, item) {return umcumulatedString + item;} var words = ['the', 'ด่วน', 'บราวน์', 'Fox']; var sentence = words.reduceright (concat); document.write (ประโยค);ผลการดำเนินการมีดังนี้:
5. แมปตัววนซ้ำ
Map Iterator ค่อนข้างคล้ายกับ foreach แต่แผนที่จะเปลี่ยนอาร์เรย์และสร้างอาร์เรย์ใหม่ดังที่แสดงในรหัสต่อไปนี้
// ใช้ MAP Iterator เพื่อสร้างเส้นโค้งฟังก์ชั่นอาเรย์ใหม่ (เกรด) {ส่งคืนเกรด+5;} เกรด VAR = [77,65,81,92,83]; var newGrades = grades.map (เส้นโค้ง); document.write (newgrades);ผลลัพธ์ผลลัพธ์:
6. ฟิตเทอเรเตอร์
คล้ายกับ Iterator ทุกตัวผ่านฟังก์ชั่นที่มีค่าคืนบูลีน ซึ่งแตกต่างจาก every วิธีเมื่อองค์ประกอบทั้งหมดในอาร์เรย์ส่งคืนผลลัพธ์ของฟังก์ชั่นที่สอดคล้องกันเป็นจริงวิธีการไม่ส่งคืนจริง แต่ส่งคืนอาร์เรย์ใหม่ซึ่งมีองค์ประกอบที่มีฟังก์ชั่นที่สอดคล้องกันคืนผลลัพธ์ของจริง รหัสมีดังนี้
ฟังก์ชั่น iseven (num) {return num % 2 == 0;} ฟังก์ชัน isodd (num) {return num % 2! = 0;} var nums = []; สำหรับ (var i = 0; i <20; i ++) {nums [i] = i+1;} var evens = nums.filter (iseven); nums.filter (isodd); document.write (อัตราต่อรอง);ผลลัพธ์ผลลัพธ์มีดังนี้:
สรุป
ข้างต้นเป็นบทสรุปของตัววนซ้ำหกตัวใน JavaScript ฉันหวังว่าเนื้อหาของบทความนี้จะเป็นประโยชน์ต่อการศึกษาและการทำงานของทุกคน