Thep Excel

unique – ลบค่าซ้ำออกจากอาร์เรย์

unique() เป็น n8n built-in array method ลบค่าซ้ำ (duplicates) ออกจากอาร์เรย์ คืนค่าอาร์เรย์ใหม่ที่มีเฉพาะค่าที่ไม่ซ้ำกัน เก็บลำดับการปรากฏครั้งแรก มีประโยชน์ในการทำความสะอาดข้อมูล หาค่าเฉพาะตัว หรือลบข้อมูลซ้ำจากรายการ

=array.unique()

By ThepExcel AI Agent
16 December 2025

Function Metrics


Popularity
8/10

Difficulty
3/10

Usefulness
8/10

Syntax & Arguments

=array.unique()

Argument Type Required Default Description
array array Yes อาร์เรย์ที่มีค่าซ้ำที่ต้องการลบออก สามารถเป็นอาร์เรย์ของจำนวน สตริง หรือค่า primitive

How it works

ทำความสะอาดข้อมูล

ลบข้อมูลซ้ำเพื่อให้ได้เฉพาะค่าที่ไม่ซ้ำกัน

หารายชื่อเฉพาะตัว

สกัดชื่อ สินค้า หรือหมวดหมู่ที่ไม่ซ้ำจากรายชื่อยาว

Examples

ตัวอย่างที่ 1: ลบตัวเลขที่ซ้ำ
{{ [1, 2, 2, 3, 3, 3, 4, 4, 4, 4].unique() }}
ฟังก์ชันลบตัวเลขที่ซ้ำออก เหลือเพียงค่าเฉพาะตัว [1, 2, 3, 4] เก็บลำดับการปรากฏครั้งแรก
n8n Formula:

={{ [1, 2, 2, 3, 3, 3, 4, 4, 4, 4].unique() }}

Result:

[1, 2, 3, 4]

ตัวอย่างที่ 2: ลบชื่อที่ซ้ำจาก JSON
{{ $json.names.unique() }}
สมมติ $json.names = ["John", "Jane", "John", "Bob", "Alice", "Jane"] ได้ผลลัพธ์คือ ["John", "Jane", "Bob", "Alice"] (เอาชื่อที่ปรากฏหลัง ๆ ออก)
n8n Formula:

={{ $json.names.unique() }}

Result:

["John", "Jane", "Bob", "Alice"]

ตัวอย่างที่ 3: สกัดหมวดหมู่ที่ไม่ซ้ำจากบทความ
{{ $json.articles.map(a => a.category).unique() }}
ดึงหมวดหมู่ (category) จากทุกบทความ แล้วใช้ unique() เอาหมวดหมู่ที่ซ้ำออก ได้รายการหมวดหมู่ที่ไม่ซ้ำกัน
n8n Formula:

={{ $json.articles.map(a => a.category).unique() }}

Result:

["tech", "business", "entertainment", "sports"]

ตัวอย่างที่ 4: ลบโดเมนซ้ำจากลิสต์อีเมล
{{ $json.contacts.map(c => c.email.extractDomain()).unique() }}
ดึงโดเมนจากอีเมลของทุกติดต่อ (contact) แล้วใช้ unique() เอาโดเมนที่ซ้ำออก ผลคือรายการโดเมนที่ไม่ซ้ำกัน
n8n Formula:

={{ $json.contacts.map(c => c.email.extractDomain()).unique() }}

Result:

["example.com", "gmail.com", "company.org"]

ตัวอย่างที่ 5: ค้นหา unique URLs จากลิสต์การเข้าชม
{{ $json.visits.map(v => v.url.extractUrlPath()).unique() }}
สกัด path จากทุก visited URLs (เช่น "/home" จาก "example.com/home") แล้วใช้ unique() เอา paths ที่ซ้ำออก
n8n Formula:

={{ $json.visits.map(v => v.url.extractUrlPath()).unique() }}

Result:

["/home", "/about", "/products", "/contact"]

FAQs

unique() จะเก็บลำดับดั้งเดิมหรือไม่?

ใช่ unique() เก็บลำดับการปรากฏครั้งแรก (first occurrence order) ถ้า array มี [3, 1, 2, 1, 3] ผลคือ [3, 1, 2] (ไม่ใช่เรียงลำดับตัวเลข)

unique() จะใช้ได้กับอาร์เรย์ของ objects ไหม?

ไม่ได้ดีนัก unique() เปรียบเทียบ reference object ไม่ใช่ค่า สำหรับ objects ให้ดึง field ก่อน เช่น $json.items.map(i => i.id).unique()

unique() กับ Set และ filter().indexOf() ต่างกันอย่างไร?

unique() เป็น n8n method ง่ายที่สุด Set คือ JavaScript set (สร้างด้วย new Set()) filter().indexOf() เป็นวิธี manual ที่เก็บลำดับเดิม ทั้งสามวิธีลบซ้ำได้ แต่ unique() เหมาะสุดสำหรับ n8n

unique() ทำงานกับค่า null, undefined, 0 ยังไง?

unique() ลบค่าซ้ำของทุกประเภท รวม null, undefined, 0, false, empty string ถ้า array มี [1, null, 2, null, 3] ได้ [1, null, 2, 3] (เอา null ที่สองออก)

ใช้ unique() เมื่อไหร่ในการทำงาน workflow?

ใช้เมื่อต้องการเอาข้อมูลซ้ำออก เช่น สร้างรายชื่อเฉพาะตัว หาหมวดหมู่ที่ไม่ซ้ำ สกัดโดเมนจากอีเมลหลายรายการ หรือลบรายการซ้ำจาก API response

Resources & Related

Additional Notes

unique() เป็น n8n built-in method สำหรับอาร์เรย์ ใช้สำหรับลบค่าซ้ำออก คืนค่าอาร์เรย์ใหม่ที่มีเฉพาะค่าเฉพาะตัว (unique values) เก็บลำดับการปรากฏครั้งแรก

ผมใช้ unique() บ่อยมากใน n8n workflow เมื่อต้องการเอาข้อมูลซ้ำออก เช่น สกัดโดเมนจากอีเมลหลายรายการ หาหมวดหมู่ที่ไม่ซ้ำ หรือทำความสะอาดรายชื่อ method นี้ช่วยให้โค้ดกระชับและอ่านได้ชัดเจน

Leave a Reply

Your email address will not be published. Required fields are marked *