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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
B - หน้า Resumes ใน admin แสดง ID ผิด
โดย tsukasaz อ 05 พฤษภาคม 2020 2:59 pm บอร์ด Odoojob.com - Tester
0
2
อ 05 พฤษภาคม 2020 2:59 pm โดย tsukasaz
อัพเดทแบบดับเบิล! Joomla เวอร์ชั่น 3.9.17 กับ 3.9.18
โดย tsukasaz อ 05 พฤษภาคม 2020 2:18 pm บอร์ด MindPHP News & Feedback
0
109
อ 05 พฤษภาคม 2020 2:18 pm โดย tsukasaz
แนะนำเทคนิคการเล่นกีฬา หัวข้อแบตมินตัน
โดย champp อ 05 พฤษภาคม 2020 12:43 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
48
อ 05 พฤษภาคม 2020 12:43 pm โดย champp
แนวทางสร้าง การจัดเก็บแบบระบุตำแหน่ง
โดย tanapong จ 04 พฤษภาคม 2020 11:41 pm บอร์ด Programming - PHP
4
90
พ 13 พฤษภาคม 2020 8:38 pm โดย tanapong
TIP การใช้ SSL ของ cloudflare คู่กับ Let's Encrypt
โดย mindphp ส 02 พฤษภาคม 2020 8:17 pm บอร์ด Linux - Web Server
0
184
ส 02 พฤษภาคม 2020 8:17 pm โดย mindphp
กรมส่งเสริมการเกษตรเปิด "โครงการตู้เย็นข้างบ้านต้านภัย COVID-19" สนับสนุนเมล็ดพันธุ์พืชผักสวนครัวให้แก่เกษตรกรและประชาชน
โดย thatsawan ส 02 พฤษภาคม 2020 2:58 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
123
ส 02 พฤษภาคม 2020 2:58 pm โดย thatsawan
วิธีการจัดรูปแบบเลขบัตรประชาชนที่กรอกอัตโนมัติ
โดย Ittichai_chupol ศ 01 พฤษภาคม 2020 5:48 pm บอร์ด Jquery & Ajax Knowledge
0
218
ศ 01 พฤษภาคม 2020 5:48 pm โดย Ittichai_chupol
ปรับรูปภาพ fandeedee
โดย numtan5839 ศ 01 พฤษภาคม 2020 11:29 am บอร์ด FDD (Main)
29
167
พ 20 พฤษภาคม 2020 11:36 am โดย numtan5839
ปัญหา Deprecated: Function ereg() is deprecated ereg_replace()
โดย mindphp ศ 01 พฤษภาคม 2020 2:54 am บอร์ด Programming - PHP
1
1019
ศ 01 พฤษภาคม 2020 4:35 am โดย mindphp
ประวัติความเป็นมาการแข่งเรือยาว
โดย baitoeijr1230 พฤ 30 เม.ย. 2020 9:39 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
180
พฤ 30 เม.ย. 2020 9:39 pm โดย baitoeijr1230
วิธีการใช้งานตัว flask jwt เพื่อทำการ authenticate แบบใช้ Token ด้วย curl
โดย jirawoot พฤ 30 เม.ย. 2020 7:07 pm บอร์ด Python Knowledge
0
163
พฤ 30 เม.ย. 2020 7:07 pm โดย jirawoot
สร้าง slideshow หรือภาพสไลด์หน้าเว็บด้วย Module Product Slide ของ MooZiiCart
โดย prmindphp พ 29 เม.ย. 2020 6:34 pm บอร์ด MindPHP News & Feedback
0
80
พ 29 เม.ย. 2020 6:34 pm โดย prmindphp
วิธีการ Overrite การแจ้งเตือนเพื่อนำมาปรับแต่งใน Extension ของ phpbb
โดย Ittichai_chupol อ 28 เม.ย. 2020 7:01 pm บอร์ด PHP Knowledge
0
198
อ 28 เม.ย. 2020 7:01 pm โดย Ittichai_chupol
จะเขียน py ธรรมดาอ่านไฟล์ config ทำยังไงค่ะ
โดย thatsawan อ 28 เม.ย. 2020 4:42 pm บอร์ด Programming - C/C++ & java & Python
1
121
พฤ 30 เม.ย. 2020 11:00 am โดย jirawoot
ต้องการติดตั้ง psycopg2 ในเครื่อง windows 10 ยังไงค่ะ
โดย thatsawan อ 28 เม.ย. 2020 3:23 pm บอร์ด Programming - C/C++ & java & Python
11
180
อ 28 เม.ย. 2020 4:01 pm โดย thatsawan
ต้องการรันไฟล์ python 2.7 ที่ติดตั้งไว้เเล้ว ทำยังไงค่ะ
โดย thatsawan อ 28 เม.ย. 2020 2:20 pm บอร์ด Programming - C/C++ & java & Python
2
111
อ 28 เม.ย. 2020 3:12 pm โดย thatsawan
ตัวช่วยในการค้นหาสินค้าตามหมวดหมู่และค้นหาจากคีย์เวิร์ด Module Ajax Search ของ MooZiiCart
โดย prmindphp จ 27 เม.ย. 2020 6:58 pm บอร์ด MindPHP News & Feedback
0
80
จ 27 เม.ย. 2020 6:58 pm โดย prmindphp
อยากทำ create table แบบกรอกชื่อ table เองผ่านเว็ป
โดย tanapong ส 25 เม.ย. 2020 11:06 pm บอร์ด Programming - PHP
10
3566
จ 27 เม.ย. 2020 2:06 pm โดย tanapong
B - มีเมลส่งออกเยอะผิดปกติ
โดย thatsawan อ 26 เม.ย. 2020 5:29 pm บอร์ด Odoojob.com - Tester
1
6
อ 26 เม.ย. 2020 5:43 pm โดย mindphp
ตัวช่วยในการ Restore ระบบ เพื่อเคลียร์ข้อมูลต่างๆ Plugin System MRestore
โดย prmindphp ศ 24 เม.ย. 2020 6:50 pm บอร์ด MindPHP News & Feedback
0
128
ศ 24 เม.ย. 2020 6:50 pm โดย prmindphp