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

           ในบทความนี้เราจะพูดถึงฟังก์ชั่น 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ทำไมเปลี่ยน type ข้อมูลเป็น int ไม่ได้คับ
โดย chatee supasand พ 05 ก.พ. 2020 5:47 pm บอร์ด Programming - C/C++ & java & Python
2
205
พ 05 ก.พ. 2020 5:55 pm โดย jirawoot
ผมอยากทราบว่าถ้าหากต้องการที่จะแยกส่วนการทำงาน การแบ่งชุดออกข้อมูลออก มันของแต่ละตาราง ใน phpbb
โดย Ittichai_chupol พ 05 ก.พ. 2020 4:23 pm บอร์ด Programming - PHP
3
1831
พ 05 ก.พ. 2020 7:32 pm โดย thatsawan
คำสั่ง Colspan และ Rowspan ใน HTML คืออะไร
โดย chatee supasand พ 05 ก.พ. 2020 2:30 pm บอร์ด HTML CSS
0
1558
พ 05 ก.พ. 2020 2:30 pm โดย chatee supasand
ท่านตลกหรอพระเจ้า?
โดย noppadonsk พ 05 ก.พ. 2020 10:53 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
109
พ 05 ก.พ. 2020 10:53 am โดย noppadonsk
อยากทราบวิธีการแก้ไข้ ปํญหาเนื่องจากการติดตั้ง ตาราง โดย phpbb ที่มีจำนวนคอลัมมากๆๆ
โดย Ittichai_chupol อ 04 ก.พ. 2020 2:21 pm บอร์ด Programming - PHP
2
1531
อ 04 ก.พ. 2020 2:32 pm โดย Ittichai_chupol
ถึงกับไปไม่เป็น
โดย noppadonsk อ 04 ก.พ. 2020 11:04 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
121
ศ 07 ก.พ. 2020 11:40 am โดย LEG
B - บอร์ด Odoojob เข้าไม่ได้ครับ
โดย jamepiyawat อ 04 ก.พ. 2020 10:39 am บอร์ด Odoojob.com - Tester
0
4
อ 04 ก.พ. 2020 10:39 am โดย jamepiyawat
สอบถามครับ ต้องการตัดค่าที่ซ้ำกันออกต้องทำไงครับ
โดย chatee supasand จ 03 ก.พ. 2020 2:19 pm บอร์ด Programming - C/C++ & java & Python
2
1433
จ 03 ก.พ. 2020 2:41 pm โดย chatee supasand
กดsaveแล้วerrorครับ(สอนเขียน PHP ติดต่อฐานข้อมูล MySQL อัพโหลดภาพ เพิ่ม ลบ แก้ไข Database)
โดย jutikul1012 จ 03 ก.พ. 2020 11:02 am บอร์ด Programming - PHP
0
1856
จ 03 ก.พ. 2020 11:02 am โดย jutikul1012
อย่าลืมเซฟงานนะ
โดย noppadonsk จ 03 ก.พ. 2020 10:45 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
1197
จ 03 ก.พ. 2020 11:01 am โดย thatsawan
ขอคำแนะนำเทคนิคพแดี พอดีผมกำลังหัดทำเว็บด้วย wordpress
โดย Anonymous จ 03 ก.พ. 2020 7:47 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
1
392
จ 03 ก.พ. 2020 11:24 am โดย mindphp
ทำความเข้าใจกับคีย์ลัด google Sheetsl เพื่อให้การทำงานง่ายขึ้น
โดย nutchasn ส 01 ก.พ. 2020 6:37 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
164
ส 01 ก.พ. 2020 6:37 pm โดย nutchasn
เพิ่มทักษะการใช้โปรแกรม Microsoft Excel ให้คำนวณและวิเคราะห์ได้ง่ายขึ้น
โดย nutchasn ส 01 ก.พ. 2020 5:53 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
155
ส 01 ก.พ. 2020 5:53 pm โดย nutchasn
ความแตกต่างของ google Slides กับ powerpoint เพื่อเลือกใช้ในการนำเสนอ
โดย nutchasn ส 01 ก.พ. 2020 5:02 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
156
ส 01 ก.พ. 2020 5:02 pm โดย nutchasn
เรียนรู้การขอStatement เพื่อใช้เป็นหลักฐานยืนยันการเคลื่อนไหวทางการเงิน
โดย nutchasn ส 01 ก.พ. 2020 2:53 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
152
ส 01 ก.พ. 2020 2:53 pm โดย nutchasn
ทำความเข้าใจภาษีมูลค่าเพิ่ม เพื่อให้เข้าใจว่าทำไมต้องจดทะเบียน
โดย nutchasn ส 01 ก.พ. 2020 12:27 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
141
ส 01 ก.พ. 2020 12:27 pm โดย nutchasn
อยากทราบวิธีการ แสดง icon logo ในหน้า favorite ของ safiri มีการแสดง icon ที่กำหนด
โดย Ittichai_chupol ศ 31 ม.ค. 2020 7:23 pm บอร์ด Programming - PHP
1
360
ศ 31 ม.ค. 2020 7:25 pm โดย mindphp
ขอสอบถามเกี่ยวกับการดึงข้อมูลภายในหน้าเดียวกันครับ
โดย benzas00123 ศ 31 ม.ค. 2020 7:08 pm บอร์ด HTML CSS
1
317
ศ 31 ม.ค. 2020 7:30 pm โดย benzas00123
Q-อยากทราบว่าต้องการย่อขยายรูปต้องทำยังไงค่ะ
โดย nutchasn ศ 31 ม.ค. 2020 6:29 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
290
ศ 31 ม.ค. 2020 6:33 pm โดย Ittichai_chupol
วิธีการปรับเปลี่ยน css เมือจอแสดงผมมีขนาดที่แตกตางกัน โดยการ override template เพื่อลดจำนวน โคด css
โดย Ittichai_chupol ศ 31 ม.ค. 2020 6:03 pm บอร์ด CSS Knowledge
0
239
ศ 31 ม.ค. 2020 6:03 pm โดย Ittichai_chupol