map() เป็น JavaScript standard array method (ES2021+, ไม่ใช่ n8n-specific) แปลงแต่ละรายการในอาร์เรย์โดยใช้ callback function คืนค่าอาร์เรย์ใหม่ที่มีความยาวเท่าเดิม แต่รายการถูก transform แล้ว มีประโยชน์ในการสกัด fields, คำนวณค่าใหม่ หรือแปลงรูปแบบข้อมูล
=array.map(callback)
=array.map(callback)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| callback | function | Yes | ฟังก์ชันที่จะนำไปใช้กับแต่ละรายการ (element => transformedElement) คืนค่ารายการใหม่สำหรับแต่ละตำแหน่งในอาร์เรย์ |
ดึง field เฉพาะจากแต่ละ object เช่น ชื่อ อีเมล หรือ ID
แปลงหรือคำนวณค่าใหม่สำหรับแต่ละรายการ เช่น ราคาลด ภาษี หรือสกุลเงิน
แปลงข้อมูลเป็นรูปแบบใหม่ เช่น uppercase, formatted dates, หรือ restructured objects
{{ [{ name: 'John', age: 30 }, { name: 'Jane', age: 25 }].map(u => u.name) }}={{ [{ name: 'John', age: 30 }, { name: 'Jane', age: 25 }].map(u => u.name) }}
['John', 'Jane']
{{ [{ name: 'A', price: 100 }, { name: 'B', price: 200 }].map(p => ({ name: p.name, salePrice: p.price * 0.8 })) }}={{ [{ name: 'A', price: 100 }, { name: 'B', price: 200 }].map(p => ({ name: p.name, salePrice: p.price * 0.8 })) }}
[{ name: 'A', salePrice: 80 }, { name: 'B', salePrice: 160 }]
{{ ['hello', 'world', 'test'].map(s => s.toUpperCase()) }}={{ ['hello', 'world', 'test'].map(s => s.toUpperCase()) }}
['HELLO', 'WORLD', 'TEST']
{{ [1, 2, 3].map((n, index) => ({ value: n, position: index + 1, double: n * 2 })) }}={{ [1, 2, 3].map((n, index) => ({ value: n, position: index + 1, double: n * 2 })) }}
[{ value: 1, position: 1, double: 2 }, { value: 2, position: 2, double: 4 }, ...]
สร้างอาร์เรย์ใหม่ (immutable) ไม่เปลี่ยนแปลงอาร์เรย์เดิม เช่น arr.map(x => x * 2) สร้าง array ใหม่ arr เดิมยังเหมือนเดิม
map() แปลงทุกรายการและคืนค่า array ความยาวเท่าเดิม (transform) ส่วน filter() เลือกเฉพาะรายการที่ตรงเงื่อนไขและคืนค่า array ที่อาจสั้นกว่า (select) ใช้ map() เมื่อต้องการ transform ใช้ filter() เมื่อต้องการ select
ใช่ callback สามารถคืนค่า type ใดก็ได้ เช่น [1, 2, 3].map(n => ‘Number: ‘ + n) แปลง numbers เป็น strings ได้ [‘Number: 1’, ‘Number: 2’, ‘Number: 3’]
ใช้เมื่อต้องการ transform แต่ละรายการในอาร์เรย์ เช่น สกัด fields จาก objects คำนวณค่าใหม่ แปลงรูปแบบข้อมูล หรือเพิ่ม fields ใหม่ ใช้คู่กับ filter() เพื่อกรองก่อน transform ใช้คู่กับ reduce() เพื่อ aggregate หลัง transform
map() เป็น JavaScript standard array method (ES2021+) ที่ใช้ได้ใน n8n expressions แปลงแต่ละรายการในอาร์เรย์โดยใช้ฟังก์ชันที่กำหนด คืนค่าเป็นอาร์เรย์ใหม่ที่มีความยาวเท่าเดิมแต่รายการถูกแปลงแล้ว ไม่แก้ไขอาร์เรย์เดิม