ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

           ในบทความนี้เราจะพูดถึงฟังก์ชั่น Javascript Array เรื่อง  Array.prototype.every ()  ฟังก์ชั่นนี้มีการใช้กันอย่างแพร่หลายและทำให้โค้ด  JavaScript  สะอาดเป็นโมดูลและเข้าใจง่าย

 

            ฟังก์ชัน Array.every() จะใช้เมื่อต้องการตรวจสอบความถูกต้องของแต่ละ element ของอาร์เรย์ที่กำหนด Array.every () จะรับฟังก์ชั่น callback ให้เป็นอาร์กิวเมนต์ซึ่งเรียกองค์ประกอบของทุกอาร์เรย์ ฟังก์ชัน Callback จะส่งคืนค่าจริงหรือเท็จ หากองค์ประกอบทั้งหมดของอาร์เรย์เป็นไปตามฟังก์ชันการตรวจสอบความถูกต้องและฟังก์ชันการเรียกกลับ(callback) จะส่งกลับค่า true ในองค์ประกอบทั้งหมดของอาร์เรย์  สรุปคือ Array.every () จะส่งกลับค่าจริง มิฉะนั้น Array.every () จะคืนค่าเท็จทันทีที่พบองค์ประกอบแรกที่ไม่ตอบสนองการทำงานของตัวตรวจสอบความถูกต้อง

 

Syntex : arr.every (callback [, thisArg])

พารามิเตอร์: 

- callback :ฟังก์ชั่นที่จะเรียกว่าองค์ประกอบแต่ละ อาร์เรย์
currentValue :  ค่าขององค์ประกอบที่กำลังดำเนินการอยู่ในปัจจุบัน
- index (optional) : index ของององค์ประกอบ currentValue ในอาร์เรย์ที่เริ่มต้นจาก 0 
- array (optional) : อาร์เรย์ที่ Array.every ได้เรียก
- thisArg (optional): บริบท(Context ) ที่จะถูกส่งผ่าน เพื่อใช้ในขณะที่เรียกใช้ฟังก์ชัน callback หากบริบทถูกส่งผ่านจะถูกใช้เป็น this สำหรับการเรียกใช้ฟังก์ชันcallback ของแต่ละครั้ง มิฉะนั้น undefined จะกำหนดเป็นค่าเริ่มต้น

 

กรณีการใช้งานตัวอย่าง:
1. การตรวจสอบว่าทุกองค์ประกอบ(element)ของอาร์เรย์เป็นจำนวนเต็มน้อยกว่า 100 หรือไม่
2. เพื่อตรวจสอบว่าทุกองค์ประกอบของอาร์เรย์เป็นชนิดข้อมูลเฉพาะไหม เช่น string 

 

ตัวอย่าง

  1. รับอาร์เรย์เขียนฟังก์ชั่นเพื่อตรวจสอบว่าelementทั้งหมดของอาร์เรย์นั้นน้อยกว่า 100 หรือไม่

ซึ่งถ้าหากวิธีการดังเดิมคือการใช้ JavaScript For Loop ดังโค้ดที่แสดงด้านล่าง

js_1

แม้ว่าการดำเนินการด้านบนนั้นง่ายต่อการเข้าใจแต่ต้องแลกกับโค้ดที่หลายบรรทัด แต่ด้วยการใช้ Array.every () ในการทำงานรูปแบบเดียวกันสามารถดำเนินการด้วยโค้ดที่ชัดเจนใช้งานง่ายและมีโค้ดน้อยลง ดังตัวอย่างด้านล่างนี้ 
js_2

  1. รับอาร์เรย์และเขียนฟังก์ชั่นเพื่อตรวจสอบว่า element ทั้งหมดของอาร์เรย์นั้นเป็นชนิดข้อมูลที่ระบุหรือ specified ไหม

เหมือนเดิมถ้าเป็นวิธีดังเดิมคือการวนซ้ำอาเรย์โดยใช้ for loopjs_3

ตัวอย่างโค้ดถ้าหากใช้ arr.Every ()  js_4

สรุป Array.prototype.every () เป็นเมธอดที่มาช่วยโค้ดสั้นลงแต่เพิ่มการทำงานหรือการดำเนินการที่เหนือกว่ามากขึ้น จากเดิมเราจะ วนซ้ำเพื่อให้มาซึ่งข้อมูล 

ช่องทางการศึกษาเพิ่มเติมข่าวที่น่าสนใจเกี่ยวกับ : JavaScript

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อัพเดท Changelog flask framework ของภาษา Python (ver 1.1.2 ล่าสุด)
โดย jirawoot พ 27 พฤษภาคม 2020 12:19 pm บอร์ด Python Knowledge
0
123
พ 27 พฤษภาคม 2020 12:19 pm โดย jirawoot
งานประจำวันที่ 27 พฤษภาคม 2563
โดย yositacha26 พ 27 พฤษภาคม 2020 12:13 pm บอร์ด MP011 - โยษิตา จันทะวงษ์
1
25
พ 27 พฤษภาคม 2020 12:15 pm โดย yositacha26
อยากทราบว่า วิธีการกำหนดการตั้งค่า ภาษาไทย ใน Netbeans
โดย Ittichai_chupol พ 27 พฤษภาคม 2020 10:13 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
117
พ 27 พฤษภาคม 2020 10:13 am โดย Ittichai_chupol
B - บริษัท approve ประวัติที่ส่งมาสมัครเเล้ว เเต่ยังแสดงสถานะเดิมอยู่
โดย thatsawan อ 26 พฤษภาคม 2020 6:27 pm บอร์ด Odoojob.com - Tester
0
4
อ 26 พฤษภาคม 2020 6:27 pm โดย thatsawan
อยากทราบวิธีการแก้ไข ภาษาไทยกลายอักษรแปลกๆ
โดย Ittichai_chupol จ 25 พฤษภาคม 2020 4:35 pm บอร์ด Programming - PHP
2
138
จ 01 มิ.ย. 2020 6:33 am โดย mindphp
อยากทราบวิธีการ แบบคอลัมเป็น 3 คอลีม โดยใช้ tag <dl>
โดย Ittichai_chupol จ 25 พฤษภาคม 2020 11:56 am บอร์ด HTML CSS
2
136
จ 01 มิ.ย. 2020 4:14 pm โดย LEG
บันทึกประชุม มารียา ซีฟู้ดส์
โดย thatsawan จ 25 พฤษภาคม 2020 11:40 am บอร์ด มารียา ซีฟู้ดส์ (Main)
2
18
ศ 29 พฤษภาคม 2020 9:32 am โดย tsukasaz
10 สุดยอดสตรีทฟู้ดในแอฟริกาตะวันตก
โดย Anonymous อ 24 พฤษภาคม 2020 9:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
148
จ 25 พฤษภาคม 2020 8:03 pm โดย ขุนพล ตั้นตระกูล
ข้อมูลสำหรับทำระบบ
โดย mindphp อ 24 พฤษภาคม 2020 4:07 am บอร์ด มารียา ซีฟู้ดส์ (Main)
0
12
อ 24 พฤษภาคม 2020 4:07 am โดย mindphp
อัพเดดความคืบหน้า / Progress - มารียา ซีฟู้ดส์
โดย mindphp อ 24 พฤษภาคม 2020 4:07 am บอร์ด มารียา ซีฟู้ดส์ (Main)
3
24
ศ 29 พฤษภาคม 2020 2:25 pm โดย thatsawan
อัพเดด Template เว็บไซต์ FDD (V2)
โดย mindphp อ 24 พฤษภาคม 2020 3:51 am บอร์ด FDD (Main)
0
1
อ 24 พฤษภาคม 2020 3:51 am โดย mindphp
R - ปรับกราฟฟิก ของเว็บ FDD
โดย mindphp อ 24 พฤษภาคม 2020 3:50 am บอร์ด FDD (Main)
0
2
อ 24 พฤษภาคม 2020 3:50 am โดย mindphp
ความคืบหน้า / Progress
โดย mindphp อ 24 พฤษภาคม 2020 3:46 am บอร์ด FDD (Main)
1
6
อ 26 พฤษภาคม 2020 8:18 am โดย mindphp
VDO - SP Page builder
โดย numtan5839 ศ 22 พฤษภาคม 2020 6:27 pm บอร์ด SP Page Builder Thai Edition - Manual & VDO & เทคนิคการใช้งาน
1
7
ศ 22 พฤษภาคม 2020 7:00 pm โดย mindphp
วิธีการใช้ Google Tasks แอพจัดการบันทึกสิ่งที่ต้องทำ
โดย sirirat ศ 22 พฤษภาคม 2020 11:04 am บอร์ด Share Knowledge
0
83
ศ 22 พฤษภาคม 2020 11:04 am โดย sirirat
งานประจำวันที่ 22 พฤษภาคม 2563
โดย sirirat ศ 22 พฤษภาคม 2020 10:10 am บอร์ด M102 - ศิริรัตน์ ทิพย์น้อย
1
17
ศ 22 พฤษภาคม 2020 11:22 am โดย numtan5839
สรุปการเรียนรู้ประจำวัน 21/05/63
โดย sirirat ศ 22 พฤษภาคม 2020 10:08 am บอร์ด M102 - ศิริรัตน์ ทิพย์น้อย
0
3
ศ 22 พฤษภาคม 2020 10:08 am โดย sirirat
รายงานความคืบหน้า / Process
โดย mindphp ศ 22 พฤษภาคม 2020 1:07 am บอร์ด SP Page Builder Thai Edition (Main)
1
3
ศ 22 พฤษภาคม 2020 1:34 am โดย mindphp
ส่ง site map ให้ google แต่ไม่โชว์ในเมนูบนเว็บเรา จะมีผลอะไรกับเว็บไหมครับ
โดย toonytoony2004 พฤ 21 พฤษภาคม 2020 10:17 pm บอร์ด Joomla Development
7
120
พ 03 มิ.ย. 2020 10:00 am โดย Sirayu
B - เวลาของบอร์ดไม่ตรงเวลาไทย
โดย thatsawan พฤ 21 พฤษภาคม 2020 5:19 pm บอร์ด Odoojob.com - Tester
0
2
พฤ 21 พฤษภาคม 2020 5:19 pm โดย thatsawan