ต้นแบบ - การแจกแจง
คลาส Enumerable มีวิธีการที่เป็นประโยชน์มากมายสำหรับการแจงนับ การแจงนับเป็นวัตถุที่ทำหน้าที่รวบรวมค่า
การแจงนับวิธีการส่วนใหญ่ถูกนำมาใช้เพื่อระบุอาร์เรย์และhashes ยังมีวัตถุอื่น ๆ เช่นObjectRangeและวัตถุที่เกี่ยวข้องกับ DOM- หรือ AJAX ต่างๆที่คุณสามารถใช้วิธีการแจงนับได้
พารามิเตอร์บริบท
ทุกวิธีของ Enumerable ที่ใช้ตัววนซ้ำจะใช้วัตถุบริบทเป็นพารามิเตอร์ถัดไป (ทางเลือก) วัตถุบริบทคือสิ่งที่ตัววนซ้ำจะถูกผูกไว้ดังนั้นthis คำหลักที่อยู่ภายในจะชี้ไปที่วัตถุ
var myObject = {};
['foo', 'bar', 'baz'].each(function(name, index) {
this[name] = index;
}, myObject); // we have specified the context
myObject;
สิ่งนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
เอาต์พุต
{ foo: 0, bar: 1, baz: 2}
ใช้อย่างมีประสิทธิภาพ
เมื่อคุณต้องการเรียกใช้เมธอดเดียวกันกับองค์ประกอบทั้งหมดให้ใช้วิธีการเรียกใช้ ()
เมื่อคุณต้องการดึงคุณสมบัติเดียวกันในองค์ประกอบทั้งหมดให้ใช้วิธีการถอน ()
findall / เลือกวิธีการดึงองค์ประกอบทั้งหมดที่ตรงกับคำกริยาที่กำหนด ในทางกลับกันวิธีการปฏิเสธ ()จะดึงองค์ประกอบทั้งหมดที่ไม่ตรงกับเพรดิเคต ในกรณีเฉพาะที่คุณต้องการทั้งสองชุดคุณสามารถหลีกเลี่ยงการวนซ้ำสองครั้งได้: เพียงแค่ใช้เมธอดpartition ()
นี่คือรายการวิธีการทั้งหมดที่เกี่ยวข้องกับ Enumerable
วิธีการนับต้นแบบ
NOTE - ตรวจสอบให้แน่ใจว่าคุณมีต้นแบบเวอร์ชัน 1.6 เป็นอย่างน้อย js
ส. | วิธีการและคำอธิบาย |
---|---|
1. | ทั้งหมด() พิจารณาว่าองค์ประกอบทั้งหมดเทียบเท่าบูลีนเป็นจริงไม่ว่าโดยตรงหรือผ่านการคำนวณโดยตัววนซ้ำที่ให้มา |
2. | ใด ๆ () พิจารณาว่าอย่างน้อยหนึ่งองค์ประกอบเทียบเท่ากับบูลีนเป็นจริงไม่ว่าโดยตรงหรือผ่านการคำนวณโดยตัววนซ้ำที่ให้มา |
3. | เก็บ() ส่งคืนผลลัพธ์ของการใช้ตัววนซ้ำกับแต่ละองค์ประกอบ นามแฝงเป็นแผนที่ () |
4. | ตรวจจับ () ค้นหาองค์ประกอบแรกที่ตัววนซ้ำส่งคืนค่าจริง นามแฝงด้วยวิธี find () |
5. | แต่ละ() ช่วยให้คุณวนซ้ำองค์ประกอบทั้งหมดในรูปแบบทั่วไปจากนั้นคืนค่า Enumerable ซึ่งจะช่วยให้สามารถโทรแบบลูกโซ่ได้ |
6. | แต่ละชิ้น () จัดกลุ่มรายการเป็นชิ้น ๆ ตามขนาดที่กำหนดโดยชิ้นสุดท้ายอาจมีขนาดเล็กกว่า |
7. | รายการ() นามแฝงสำหรับเมธอด toArray ทั่วไป |
8. | หา() ค้นหาองค์ประกอบแรกที่ตัววนซ้ำส่งคืนค่าจริง นามแฝงสะดวกสำหรับการตรวจจับ () |
9. | ค้นหาทั้งหมด () ส่งคืนองค์ประกอบทั้งหมดที่ตัววนซ้ำส่งคืนจริง นามแฝงเป็นเลือก () |
10. | grep () ส่งคืนองค์ประกอบทั้งหมดที่ตรงกับตัวกรอง หากมีการจัดเตรียมตัววนซ้ำจะใช้เพื่อสร้างค่าที่ส่งคืนสำหรับแต่ละองค์ประกอบที่เลือก |
11. | inGroupsOf () จัดกลุ่มรายการเป็นชิ้นขนาดคงที่โดยใช้ค่าเฉพาะเพื่อเติมเต็มชิ้นสุดท้ายหากจำเป็น |
12. | รวม () กำหนดว่าวัตถุที่ระบุอยู่ใน Enumerable หรือไม่โดยอาศัยตัวดำเนินการเปรียบเทียบ == นามแฝงเป็นสมาชิก () |
13. | ฉีด() สร้างมูลค่าผลลัพธ์เพิ่มขึ้นตามผลลัพธ์ที่ต่อเนื่องของตัววนซ้ำ |
14. | เรียก () การเพิ่มประสิทธิภาพสำหรับกรณีการใช้งานทั่วไปของแต่ละ () หรือ collect (): การเรียกใช้เมธอดเดียวกันโดยมีอาร์กิวเมนต์ที่เป็นไปได้เหมือนกันสำหรับองค์ประกอบทั้งหมด |
15. | แผนที่() ส่งคืนผลลัพธ์ของการใช้ตัววนซ้ำกับแต่ละองค์ประกอบ นามแฝงสะดวกในการรวบรวม () |
16. | สูงสุด () ส่งคืนองค์ประกอบสูงสุด (หรือการคำนวณตามองค์ประกอบ) หรือไม่ได้กำหนดไว้หากการแจงนับว่างเปล่า องค์ประกอบจะถูกเปรียบเทียบโดยตรงหรือโดยใช้ตัววนซ้ำก่อนและเปรียบเทียบค่าที่ส่งคืน |
17. | สมาชิก() พิจารณาว่าวัตถุที่ระบุอยู่ใน Enumerable หรือไม่โดยอาศัยตัวดำเนินการเปรียบเทียบ == นามแฝงสะดวกสำหรับ include () |
18. | นาที() ส่งคืนองค์ประกอบขั้นต่ำ (หรือการคำนวณตามองค์ประกอบ) หรือไม่ได้กำหนดหากการแจงนับว่างเปล่า องค์ประกอบจะถูกเปรียบเทียบโดยตรงหรือโดยใช้ตัววนซ้ำก่อนและเปรียบเทียบค่าที่ส่งคืน |
19. | พาร์ติชัน () แบ่งองค์ประกอบออกเป็นสองกลุ่ม: กลุ่มที่ถือว่าเป็นจริงและกลุ่มที่ถือว่าเป็นเท็จ |
20. | ถอน () การเพิ่มประสิทธิภาพสำหรับกรณีการใช้งานทั่วไปของการรวบรวม (): การดึงคุณสมบัติเดียวกันสำหรับองค์ประกอบทั้งหมด ส่งคืนค่าคุณสมบัติ |
21. | ปฏิเสธ() ส่งคืนองค์ประกอบทั้งหมดที่ตัววนซ้ำส่งคืนเป็นเท็จ |
22. | เลือก() นามแฝงสำหรับวิธี findAll () |
23. | ขนาด() ส่งคืนขนาดของการแจงนับ |
24. | sortBy () ให้มุมมองที่จัดเรียงแบบกำหนดเองขององค์ประกอบตามเกณฑ์ที่คำนวณสำหรับแต่ละองค์ประกอบโดยตัววนซ้ำ |
25. | toArray () ส่งกลับการแสดงอาร์เรย์ของการแจงนับ นามแฝงเป็นรายการ () |
26. | ซิป () รูดซิปเข้าด้วยกัน (ลองนึกถึงซิปบนกางเกงขายาว) 2+ ลำดับโดยให้มีสิ่งทอมากมาย ทูเปิลแต่ละตัวมีหนึ่งค่าต่อลำดับดั้งเดิม |