filter() เป็น JavaScript standard array method (ES2021+, ไม่ใช่ n8n-specific) กรองรายการในอาร์เรย์ตามเงื่อนไขที่กำหนด คืนค่าอาร์เรย์ใหม่ที่มีเฉพาะรายการที่ตรงตามเงื่อนไข (predicate function returns true) มีประโยชน์ในการเลือกข้อมูลเฉพาะส่วน ลบรายการที่ไม่ต้องการ หรือจัดกลุ่มข้อมูลตามเงื่อนไข
=array.filter(predicate)
=array.filter(predicate)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| predicate | function | Yes | ฟังก์ชันตรวจสอบเงื่อนไข (element => condition) คืนค่า true (เก็บรายการนี้) หรือ false (ตัดออก) สำหรับแต่ละรายการในอาร์เรย์ |
เลือกเฉพาะรายการที่มีสถานะเฉพาะ เช่น สินค้าที่มีในสต็อก ผู้ใช้ที่ active
เลือกข้อมูลในช่วงที่กำหนด เช่น ราคา 100-500 บาท วันที่ภายใน 30 วัน
กรองออกรายการที่ null, undefined หรือไม่ผ่านเงื่อนไข
{{ [1, 2, 3, 4, 5, 6].filter(n => n > 3) }}={{ [1, 2, 3, 4, 5, 6].filter(n => n > 3) }}
[4, 5, 6]
{{ [{ name: 'A', inStock: true }, { name: 'B', inStock: false }, { name: 'C', inStock: true }].filter(p => p.inStock) }}={{ [{ name: 'A', inStock: true }, { name: 'B', inStock: false }, { name: 'C', inStock: true }].filter(p => p.inStock) }}
[{ name: 'A', inStock: true }, { name: 'C', inStock: true }]
{{ $json.users.filter(u => u.active && u.age >= 18 && u.role === 'member') }}={{ $json.users.filter(u => u.active && u.age >= 18 && u.role === 'member') }}
[{ name: 'John', active: true, age: 25, role: 'member' }, ...]
{{ [1, null, 2, undefined, 3, 0, false].filter(v => v != null) }}={{ [1, null, 2, undefined, 3, 0, false].filter(v => v != null) }}
[1, 2, 3, 0, false]
สร้างอาร์เรย์ใหม่ (immutable) ไม่เปลี่ยนแปลงอาร์เรย์เดิม เช่น arr.filter(x => x > 3) สร้าง array ใหม่ arr เดิมยังเหมือนเดิม
filter() คืนค่า array ของทุกรายการที่ตรงเงื่อนไข (เช่น [1, 2, 3]) ส่วน find() คืนค่ารายการแรกที่ตรงเงื่อนไข (เช่น 1) ใช้ filter() เมื่อต้องการหลายรายการ ใช้ find() เมื่อต้องการแค่รายการแรก
คืนค่า empty array [] (ไม่ใช่ null) เช่น [1, 2].filter(n => n > 10) ได้ [] สามารถเช็คด้วย arr.filter(…).length === 0
ใช้เมื่อต้องการเลือกรายการเฉพาะส่วนจากอาร์เรย์ เช่น กรองสินค้าที่มีในสต็อก เลือกผู้ใช้ที่ active ลบข้อมูล null/undefined หรือเลือกข้อมูลตามช่วงค่า ใช้คู่กับ map() เพื่อ transform ข้อมูลหลังกรอง
filter() เป็น JavaScript standard array method (ES2021+) ที่ใช้ได้ใน n8n expressions กรองรายการในอาร์เรย์ตามเงื่อนไขที่กำหนด คืนค่าเป็นอาร์เรย์ใหม่ที่มีเฉพาะรายการที่ผ่านเงื่อนไข (predicate returns true) ไม่แก้ไขอาร์เรย์เดิม