Skip to content

Loops with Index (❌ไม่ค่อยนิยมใช้)

for

js
// วนซ้ำตามจำนวนที่กำหนด
for (let i = 0; i < 5; i++) {
  console.log(`รอบที่ ${i}`);
}

while

js
// วนซ้ำตราบใดที่เงื่อนไขเป็นจริง
let count = 0;
while (count < 3) {
  console.log(`นับที่ ${count}`);
  count++;
}

do...while

js
// ทำงานอย่างน้อย 1 ครั้ง แล้วตรวจสอบเงื่อนไข
let num = 0;
do {
  console.log(`ตัวเลข: ${num}`);
  num++;
} while (num < 3);

Loops with Data (✅ใช้บ่อย)

for...in

js
// วนลูปผ่าน property ของ object
const person = { name: "สมชาย", age: 30 };
for (const key in person) {
  console.log(`${key}: ${person[key]}`);
}

for...of

js
// วนลูปผ่านสมาชิกของ iterable (เช่น array)
const fruits = ["แอปเปิ้ล", "กล้วย", "ส้ม"];
for (const fruit of fruits) {
  console.log(fruit);
}

forEach

js
// ทำงานกับทุกสมาชิกใน array
const numbers = [1, 2, 3];
numbers.forEach(num => {
  console.log(num * 2);
});

map

js
// สร้าง array ใหม่จากการแปลงค่าสมาชิกเดิม
const numbers = [1, 2, 3];
const doubled = numbers.map(num => num * 2);
// doubled: [2, 4, 6]

filter

js
// สร้าง array ใหม่ที่ผ่านเงื่อนไข
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(num => num % 2 === 0);
// evenNumbers: [2, 4]

find

js
// ค้นหาสมาชิกตัวแรกที่ตรงเงื่อนไข
const users = [
  { id: 1, name: "สมชาย" },
  { id: 2, name: "สมหญิง" }
];
const user = users.find(user => user.id === 2);
// user: { id: 2, name: "สมหญิง" }

some/every

js
// some: ตรวจสอบว่ามีสมาชิกอย่างน้อย 1 ตัวที่ตรงเงื่อนไข
const numbers = [1, 2, 3, 4, 5];
const hasEven = numbers.some(num => num % 2 === 0); // true

// every: ตรวจสอบว่าทุกสมาชิกตรงเงื่อนไขหรือไม่
const allPositive = numbers.every(num => num > 0); // true