JavaScript Foreach

   อัปเดตล่าสุด July 11, 2024

ForEach เป็นวิธีการวนลูปที่ทรงพลังและใช้งานง่ายใน JavaScript สมัยใหม่ เป็นส่วนหนึ่งของ Array methods ที่ช่วยให้เราสามารถทำงานกับแต่ละสมาชิกของอาร์เรย์ได้อย่างมีประสิทธิภาพ โดยไม่ต้องใช้ลูปแบบดั้งเดิมอย่าง for หรือ while

โครงสร้างของ forEach

array.forEach(function(currentValue, index, arr) {
// โค้ดที่จะทำงานกับแต่ละสมาชิกของอาร์เรย์
});


คำอธิบาย

  • currentValue: ค่าของสมาชิกปัจจุบันในอาร์เรย์
  • index: ตำแหน่งของสมาชิกปัจจุบันในอาร์เรย์ (เริ่มจาก 0)
  • arr: อาร์เรย์ที่กำลังถูกวนลูป

หมายเหตุ: พารามิเตอร์ index และ arr เป็นตัวเลือก คุณสามารถละไว้ได้ถ้าไม่จำเป็นต้องใช้


ตัวอย่างการใช้งาน forEach

1. การวนลูปผ่านอาร์เรย์อย่างง่าย

const fruits = ['แอปเปิ้ล', 'กล้วย', 'ส้ม'];

fruits.forEach(function(fruit) {
console.log(fruit);
});


ผลลัพธ์

แอปเปิ้ล
กล้วย
ส้ม


2. การใช้ Array ฟังก์ชันสำหรับ ForEach

const numbers = [1, 2, 3, 4, 5];

numbers.forEach((number) => {
console.log(number * 2);
});


ผลลัพธ์

2
4
6
8
10


3. การใช้ Index ใน ForEach

const colors = ['แดง', 'เขียว', 'น้ำเงิน'];

colors.forEach((color, index) => {
console.log(`สี ${index + 1}: ${color}`);
});


ผลลัพธ์

สี 1: แดง
สี 2: เขียว
สี 3: น้ำเงิน


4. การแก้ไขอาร์เรย์เดิมด้วย forEach

const scores = [75, 80, 85, 90, 95];

scores.forEach((score, index, arr) => {
arr[index] = score + 5;
});

console.log(scores);


ผลลัพธ์

[80, 85, 90, 95, 100]


ข้อควรระวังและข้อจำกัด

  1. ไม่สามารถใช้ break หรือ continue: forEach ไม่สามารถหยุดการทำงานกลางคันด้วย break หรือ continue ได้ ถ้าต้องการฟังก์ชันนี้ ให้ใช้ลูป for แบบปกติแทน
  2. ไม่สร้างอาร์เรย์ใหม่: forEach ไม่สร้างอาร์เรย์ใหม่ ถ้าต้องการสร้างอาร์เรย์ใหม่จากการแปลงค่า ให้ใช้ map() แทน
  3. ไม่รองรับ async/await: forEach ไม่รองรับการทำงานแบบ asynchronous โดยตรง ถ้าต้องการใช้งานกับ async functions ให้พิจารณาใช้ for...of loop แทน

สรุป

forEach เป็นวิธีที่สะดวกและอ่านง่ายในการวนลูปผ่านอาร์เรย์ใน JavaScript มันช่วยให้โค้ดของคุณสั้นลงและมีความชัดเจนมากขึ้นเมื่อเทียบกับการใช้ลูปแบบดั้งเดิม อย่างไรก็ตาม เป็นสิ่งสำคัญที่จะต้องเข้าใจข้อจำกัดของมันและเลือกใช้เครื่องมือที่เหมาะสมสำหรับงานแต่ละประเภท

การฝึกฝนการใช้ forEach และ Array methods อื่น ๆ จะช่วยให้คุณเขียนโค้ด JavaScript ที่สะอาด มีประสิทธิภาพ และเป็นมืออาชีพมากขึ้น