---
title: every – ตรวจสอบว่าทุกค่าตรงเงื่อนไข
url: https://www.thepexcel.com/functions/n8n/array-functions/every-n8n/
type: function-explainer
program: n8n
syntax: "$json.array.every(item => condition)"
date: 2025-12-16
updated: 2025-12-24
scores:
  popularity: 6
  difficulty: 4
  usefulness: 6
---

# every – ตรวจสอบว่าทุกค่าตรงเงื่อนไข

> ตรวจสอบว่าทุกรายการใน array ตรงตามเงื่อนไขหรือไม่ คืนค่า true ถ้าทั้งหมดผ่าน false ถ้ามีสักอันไม่ผ่า

## คำอธิบาย

ตรวจสอบว่าทุกรายการใน array ตรงตามเงื่อนไขหรือไม่ คืนค่า true ถ้าทั้งหมดผ่าน false ถ้ามีสักอันไม่ผ่าน

## Syntax

```excel
$json.array.every(item => condition)
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| callback | Yes | Function |  | ฟังก์ชันที่ทดสอบแต่ละค่า รับพารามิเตอร์ (element, index, array) และต้องคืนค่า true หรือ false |
| thisArg | No | any |  | ค่า this ที่จะใช้ในเมื่อเรียกใช้ callback (ใช้น้อยมากใน n8n) |

## เคสการใช้งาน

### Scenario 1

General usage

_เหมาะกับ:_ general

## ตัวอย่าง

### 1. ตัวอย่างพื้นฐาน - ตรวจสอบเลขคู่

```excel
{{ [2, 4, 6].every(n => n % 2 === 0) }}
```

**ผลลัพธ์:** `true`

ตรวจสอบว่าทุกตัวเลขเป็นเลขคู่ - 2, 4, 6 ล้วนหารด้วย 2 ลงตัว จึงได้ true

### 2. ตรวจสอบสถานะ User

```excel
{{ $json.users.every(u => u.isActive === true) }}
```

**ผลลัพธ์:** `true/false`

ตรวจสอบว่าทุก user มี isActive เป็น true ถ้ามี user ใดที่ inactive จะได้ false ทันที (short-circuit)

### 3. ตรวจสอบว่าทุกราคาเป็นจำนวนบวก

```excel
{{ $json.products.every(p => p.price > 0) }}
```

**ผลลัพธ์:** `false`

ตรวจสอบว่าทุกสินค้ามีราคามากกว่า 0 ใช้เป็น validation ก่อนประมวลผลออร์เดอร์ ถ้ามีสินค้าราคาติดลบหรือ 0 จะได้ false

### 4. ตรวจสอบความยาว String

```excel
{{ $json.passwords.every(pwd => pwd.length >= 8) }}
```

**ผลลัพธ์:** `true/false`

ตรวจสอบว่าทุก password ยาวอย่างน้อย 8 ตัวอักษร ถ้าสักอันสั้นกว่า 8 จะได้ false ทันทีโดยไม่ตรวจเหลือ

### 5. ตรวจสอบ Object Property

```excel
{{ $json.orders.every(order => order.customerId && order.total > 0) }}
```

**ผลลัพธ์:** `true/false`

ตรวจสอบว่าทุกออร์เดอร์มี customerId และ total มากกว่า 0 ใช้ได้ดีสำหรับ validate ข้อมูลจากระบบต่างๆ

## หมายเหตุเพิ่มเติม

- every() หยุดทันทีเมื่อเจอค่าแรกที่ไม่ตรง (short-circuit) - จึงประหยัด performance มากกว่า filter() ที่ต้องตรวจเช็คหมดทั้ง array

- Array ว่างจะคืน true เสมอ - จึงต้องระวังถ้าคิดว่า array มีรายการจริง

- สามารถใช้ && (AND) ได้ หลายเงื่อนไขในครั้งเดียว เช่น item.price > 0 && item.quantity > 0

- คิดว่า every() คือ AND logic ส่วน some() คือ OR logic ช่วยได้

- ส่วนตัวผม ผมใช้ every() ประจำสำหรับ validate ก่อนส่งข้อมูล downstream เพราะว่ามันสั้นและชัดเจนมากกว่า loop

## คำถามที่พบบ่อย

**Q: every() คืน true เสมอสำหรับ array ว่าง?**

ใช่ทุกประการ empty array จะคืน true เสมอ นี่เรียกว่า 'vacuous truth' ในตรรมศาสตร์ เพราะว่าไม่มีรายการใดที่ไม่ผ่านเงื่อนไข

**Q: ต่างจาก some() อย่างไร?**

every() ต้องตรงทั้งหมด some() ต้องตรงบางค่า - every ใช้ AND, some ใช้ OR

**Q: Performance ดีไหมเมื่อ array มีรายการเยอะ?**

ดีมากเพราะ every() หยุดวนตั้งแต่เจอค่าแรกที่ไม่ตรง (short-circuit) ไม่จำเป็นต้องเช็ครายการที่เหลือ

**Q: ใช้ได้ใน n8n Code node หรือ Set node ด้วยหรือ?**

ใช่ได้ - ใช้ใน Set node ด้วยเครื่องหมาย {{ }} ก็ได้ แต่ Code node ไม่ต้องใช้เครื่องหมายนี้

## ฟังก์ชันที่เกี่ยวข้อง

- [some – ตรวจสอบว่ามีรายการใดผ่านเงื่อนไขหรือไม่](https://www.thepexcel.com/functions/n8n/array-functions/some-n8n/)
- [filter – กรองรายการจากอาร์เรย์ตามเงื่อนไข](https://www.thepexcel.com/functions/n8n/array-functions/filter-n8n/)
- find-n8n

## แหล่งข้อมูลเพิ่มเติม

- [MDN: Array.prototype.every()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every) _(article)_
- [n8n Expressions Documentation](https://docs.n8n.io/code/expressions/) _(article)_
- [n8n Code Node Reference](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/) _(article)_

---

_Source: [https://www.thepexcel.com/functions/n8n/array-functions/every-n8n/](https://www.thepexcel.com/functions/n8n/array-functions/every-n8n/)_
