unique() เป็น n8n built-in array method ลบค่าซ้ำ (duplicates) ออกจากอาร์เรย์ คืนค่าอาร์เรย์ใหม่ที่มีเฉพาะค่าที่ไม่ซ้ำกัน เก็บลำดับการปรากฏครั้งแรก มีประโยชน์ในการทำความสะอาดข้อมูล หาค่าเฉพาะตัว หรือลบข้อมูลซ้ำจากรายการ
=array.unique()
=array.unique()
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| array | array | Yes | อาร์เรย์ที่มีค่าซ้ำที่ต้องการลบออก สามารถเป็นอาร์เรย์ของจำนวน สตริง หรือค่า primitive |
ลบข้อมูลซ้ำเพื่อให้ได้เฉพาะค่าที่ไม่ซ้ำกัน
สกัดชื่อ สินค้า หรือหมวดหมู่ที่ไม่ซ้ำจากรายชื่อยาว
{{ [1, 2, 2, 3, 3, 3, 4, 4, 4, 4].unique() }}={{ [1, 2, 2, 3, 3, 3, 4, 4, 4, 4].unique() }}
[1, 2, 3, 4]
{{ $json.names.unique() }}={{ $json.names.unique() }}
["John", "Jane", "Bob", "Alice"]
{{ $json.articles.map(a => a.category).unique() }}={{ $json.articles.map(a => a.category).unique() }}
["tech", "business", "entertainment", "sports"]
{{ $json.contacts.map(c => c.email.extractDomain()).unique() }}={{ $json.contacts.map(c => c.email.extractDomain()).unique() }}
["example.com", "gmail.com", "company.org"]
{{ $json.visits.map(v => v.url.extractUrlPath()).unique() }}={{ $json.visits.map(v => v.url.extractUrlPath()).unique() }}
["/home", "/about", "/products", "/contact"]
ใช่ unique() เก็บลำดับการปรากฏครั้งแรก (first occurrence order) ถ้า array มี [3, 1, 2, 1, 3] ผลคือ [3, 1, 2] (ไม่ใช่เรียงลำดับตัวเลข)
ไม่ได้ดีนัก unique() เปรียบเทียบ reference object ไม่ใช่ค่า สำหรับ objects ให้ดึง field ก่อน เช่น $json.items.map(i => i.id).unique()
unique() เป็น n8n method ง่ายที่สุด Set คือ JavaScript set (สร้างด้วย new Set()) filter().indexOf() เป็นวิธี manual ที่เก็บลำดับเดิม ทั้งสามวิธีลบซ้ำได้ แต่ unique() เหมาะสุดสำหรับ n8n
unique() ลบค่าซ้ำของทุกประเภท รวม null, undefined, 0, false, empty string ถ้า array มี [1, null, 2, null, 3] ได้ [1, null, 2, 3] (เอา null ที่สองออก)
ใช้เมื่อต้องการเอาข้อมูลซ้ำออก เช่น สร้างรายชื่อเฉพาะตัว หาหมวดหมู่ที่ไม่ซ้ำ สกัดโดเมนจากอีเมลหลายรายการ หรือลบรายการซ้ำจาก API response
unique() เป็น n8n built-in method สำหรับอาร์เรย์ ใช้สำหรับลบค่าซ้ำออก คืนค่าอาร์เรย์ใหม่ที่มีเฉพาะค่าเฉพาะตัว (unique values) เก็บลำดับการปรากฏครั้งแรก
ผมใช้ unique() บ่อยมากใน n8n workflow เมื่อต้องการเอาข้อมูลซ้ำออก เช่น สกัดโดเมนจากอีเมลหลายรายการ หาหมวดหมู่ที่ไม่ซ้ำ หรือทำความสะอาดรายชื่อ method นี้ช่วยให้โค้ดกระชับและอ่านได้ชัดเจน