Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

เมธอด Array.some() ใน JavaScript

Array.some()

ทดสอบว่า มีอย่างน้อย 1 สมาชิก ผ่านเงื่อนไขหรือไม่ คืน true ถ้ามี, false ถ้าไม่มีเลย (Short-circuit)

ไวยากรณ์

arr.some(callback(element[, index[, array]])[, thisArg])

ตัวอย่าง

<html> <body> <p id="demo1"></p> <p id="demo2"></p> <script>
  var wages = [33000, 10000, 1000, 20000];
  var salary = [3000, 9000, 14000, 10000];
  
  function checkSal(wage) {
    return wage >= 15000;
  }
  
  document.getElementById('demo1').innerHTML = wages.some(checkSal);  // true
  document.getElementById('demo2').innerHTML = salary.some(checkSal); // false
</script> </body> </html>

ผลลัพธ์

true false

คำอธิบาย

  • wages: มี 33000 และ 20000 ≥ 15000 → true (หยุดที่ 33000)
  • salary: ทุกค่า < 15000 → false

every() vs some() - จำง่ายด้วย Logic

  • every() = ∀ (For All) - ทุกตัวต้องผ่าน → true
  • some() = ∃ (Exists) - มีตัวไหนผ่าน → true

การใช้งานจริง

// เช็คว่า Array ว่างหรือไม่
const hasItems = arr.some(() => true);

// เช็ค Permission
const hasAdmin = users.some(u => u.role === 'admin');

// Early Exit Pattern
const isValid = inputs.some(input => !input.valid); // หยุดทันทีเจอ Invalid