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