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

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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
G - Username & Password ในการเข้าระบบของลูกค้า
โดย Parichat พ 24 เม.ย. 2019 8:15 pm บอร์ด Diageo - Web Ordering (Main)
0
5
พ 24 เม.ย. 2019 8:15 pm โดย Parichat
การใช้งานโปรเเกรม Open ERP ในส่วนของ Fixed price (deposit) เงินที่จ่ายล่วงหน้า เป็นต้น
โดย สริญญา สมสา พ 24 เม.ย. 2019 6:33 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
17
พ 24 เม.ย. 2019 6:33 pm โดย สริญญา สมสา
B - สั่งสินค้ามากกว่า MOQ 100 ลัง แต่มีการแจ้งว่าไม่ถึง [2019-04][021]
โดย Parichat พ 24 เม.ย. 2019 6:22 pm บอร์ด Diageo - Web Ordering - Tester
0
2
พ 24 เม.ย. 2019 6:22 pm โดย Parichat
B - ข้อความแจ้งเตือนภาษาไทยเขียนไม่ถูกต้อง [2019-04][024]
โดย Parichat พ 24 เม.ย. 2019 6:13 pm บอร์ด Diageo - Web Ordering - Tester
0
3
พ 24 เม.ย. 2019 6:13 pm โดย Parichat
B - ข้อความแจ้งเตือนการสั่งสินค้านอกรอบเขียนไม่ถูกต้อง [2019-04][022]
โดย Parichat พ 24 เม.ย. 2019 6:10 pm บอร์ด Diageo - Web Ordering - Tester
0
4
พ 24 เม.ย. 2019 6:10 pm โดย Parichat
B - ข้อความแจ้งเตือนสั่งน้อยกว่า MOQ 100 ลัง แต่เขียนไม่ถูกต้อง [2019-04][023]
โดย Parichat พ 24 เม.ย. 2019 6:06 pm บอร์ด Diageo - Web Ordering - Tester
2
8
พ 24 เม.ย. 2019 8:34 pm โดย Parichat
การใช้งานโปรเเกรม Open ERP ในส่วน Some Order Lines การทำใบเเจ้งหนี้เเบบรายการ
โดย สริญญา สมสา พ 24 เม.ย. 2019 5:38 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
9
พ 24 เม.ย. 2019 5:38 pm โดย สริญญา สมสา
วิธีลัดแสกน QR Code ด้วย Google Assistant
โดย napharat079 พ 24 เม.ย. 2019 4:13 pm บอร์ด Share Knowledge
0
14
พ 24 เม.ย. 2019 4:13 pm โดย napharat079
กำหนดค่าไม่ให้ซ้ำยังไงค่ะ
โดย Kanyarat Kanthawong พ 24 เม.ย. 2019 3:27 pm บอร์ด SQL - Database
1
22
พ 24 เม.ย. 2019 9:34 pm โดย mindphp
วิธีตั้งค่า Gmail Offline เช็คเมล์ได้ไม่ต้องง้ออินเตอร์เน็ต
โดย napharat079 พ 24 เม.ย. 2019 3:00 pm บอร์ด Share Knowledge
0
13
พ 24 เม.ย. 2019 3:00 pm โดย napharat079
วีธีตั้งค่า Gmail ให้ตอบกลับอัตโนมัติ
โดย napharat079 พ 24 เม.ย. 2019 1:52 pm บอร์ด Share Knowledge
0
15
พ 24 เม.ย. 2019 1:52 pm โดย napharat079
B - CART and View Order คำนวณผิด [2019-04][020]
โดย Parichat พ 24 เม.ย. 2019 10:56 am บอร์ด Diageo - Web Ordering - Tester
3
6
พ 24 เม.ย. 2019 8:28 pm โดย Parichat
งานประจำวันที่ 24 เมษายน 2562
โดย poumtip พ 24 เม.ย. 2019 10:12 am บอร์ด M080 - สุทธาทิพย์ อู่นาค
1
11
พ 24 เม.ย. 2019 7:58 pm โดย poumtip
งานประจำวันที่ 24 เมษายน 2562
โดย napharat079 พ 24 เม.ย. 2019 10:03 am บอร์ด M079 - นภารัตน์ ฐิติกรโกวิท
1
2
พ 24 เม.ย. 2019 7:00 pm โดย napharat079
เมธอด resize() ใน jQuery ใช้เมื่อหน้าต่างเบราว์เซอร์เปลี่ยนขนาด
โดย abdkode อ 23 เม.ย. 2019 7:00 pm บอร์ด Jquery & Ajax Knowledge
0
13
อ 23 เม.ย. 2019 7:00 pm โดย abdkode
วิธีตั้ง Vote ในแอปพลิเคชั่น Line
โดย napharat079 อ 23 เม.ย. 2019 5:10 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
15
อ 23 เม.ย. 2019 5:10 pm โดย napharat079
อยากทราบวิธีการเปิด การลบแบบไม่ถารวร ใน phpbb ครับ
โดย Ittichai_chupol อ 23 เม.ย. 2019 4:44 pm บอร์ด Programming - PHP
1
16
อ 23 เม.ย. 2019 6:08 pm โดย mindphp
ลบภาพพื้นหลังด่วนด้วยเทคโนโลยี AI
โดย napharat079 อ 23 เม.ย. 2019 3:30 pm บอร์ด Graphic design
0
27
อ 23 เม.ย. 2019 3:30 pm โดย napharat079
การใช้งานโปรเเกรม Open ERP ในส่วน Persentage นำสินค้ามาคิดเปอร์เซ็นต์
โดย สริญญา สมสา อ 23 เม.ย. 2019 3:01 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
29
อ 23 เม.ย. 2019 3:01 pm โดย สริญญา สมสา
R - รูปแบบเทมเพลตอีเมลทั้ง 3 รูปแบบ
โดย Parichat อ 23 เม.ย. 2019 1:49 pm บอร์ด Diageo - Web Ordering - Tester
4
16
พ 24 เม.ย. 2019 11:00 am โดย Parichat