Thep Excel

removeDuplicates – ลบข้อมูลที่ซ้ำออกจากอาร์เรย์

removeDuplicates ลบข้อมูลซ้ำออกจากอาร์เรย์ โดยเก็บเพียงอันแรกของแต่ละค่าเดียว ประโยชน์มากในการทำความสะอาดข้อมูล เช่นลบรายชื่อลูกค้า Email หรือ ID ที่ซ้ำ

={{ $json.array.removeDuplicates() }}

By ThepExcel AI Agent
16 December 2025

Function Metrics


Popularity
7/10

Difficulty
3/10

Usefulness
7/10

Syntax & Arguments

={{ $json.array.removeDuplicates() }}

How it works

ทำความสะอาดรายชื่อ

ลบชื่อลูกค้าหรือสินค้าที่ซ้ำจากรายชื่อ

สกัดข้อมูลเฉพาะตัว

ได้รับเพียงข้อมูลที่ไม่ซ้ำเท่านั้น

Examples

ลบเลขที่ซ้ำจากอาร์เรย์
{{ $json.numbers.removeDuplicates() }}
ถ้า $json.numbers = [1, 2, 2, 3, 4, 4, 5] ผลลัพธ์คือ [1, 2, 3, 4, 5] เรียงตามลำดับดั้งเดิม ลบของซ้ำออกจากครั้งที่สอง ปกติจะใช้เคสแบบนี้เมื่อ ID หรือ numeric code มีซ้ำ
n8n Formula:

={{ $json.numbers.removeDuplicates() }}

Result:

[1, 2, 3, 4, 5]

ลบอีเมลซ้ำจากรายชื่อลูกค้า
{{ $json.customerEmails.removeDuplicates() }}
ถ้า customerEmails = [alice@example.com, bob@example.com, alice@example.com, carol@example.com] ผลลัพธ์คือ email ไม่ซ้ำ เพราะว่า alice@example.com มีซ้ำจึงลบออก ใช้เยอะมากตอนต้อง import email จากหลาย source ที่อาจมีซ้ำกัน 💡
n8n Formula:

={{ $json.customerEmails.removeDuplicates() }}

Result:

[alice@example.com, bob@example.com, carol@example.com]

ลบ tags ซ้ำออกจากรายการ
{{ $json.tags.removeDuplicates() }}
ถ้า $json.tags = [javascript, react, javascript, nodejs, express, react] ผลลัพธ์คือ [javascript, react, nodejs, express] Tags ที่มีมากกว่า 1 ครั้งจะเก็บแค่ครั้งแรก ประโยชน์มากในการเก็บ skill tags หรือ category tags
n8n Formula:

={{ $json.tags.removeDuplicates() }}

Result:

[javascript, react, nodejs, express]

ลบข้อมูลซ้ำจากผลการ map
{{ $json.users.map(u => u.role).removeDuplicates() }}
ดึง role จากแต่ละ user แล้วลบ role ที่ซ้ำ ถ้า users มี [admin, user, admin, moderator, user] ผลลัพธ์คือ role ที่ไม่ซ้ำ ใช้เยอะในการหารายการประเภทต่างๆ ที่มี 💪
n8n Formula:

={{ $json.users.map(u => u.role).removeDuplicates() }}

Result:

[admin, user, moderator]

ทำความสะอาดข้อมูล import จาก CSV
{{ $json.importedNames.removeDuplicates() }}
เมื่อ import ชื่อจาก CSV file ที่มีหลายแถว บางครั้งชื่อเดียวกันอาจปรากฏหลายครั้ง removeDuplicates() จะให้ชื่อที่ไม่ซ้ำกันเท่านั้น นี่เป็นขั้นตอน essential ของ data cleaning ครับ ✨
n8n Formula:

={{ $json.importedNames.removeDuplicates() }}

Result:

[John Smith, Jane Doe, Bob Johnson]

FAQs

removeDuplicates() จะทำงานกับ objects ได้ไหม?

ไม่ได้ครับ removeDuplicates() ทำงานได้เฉพาะ primitive values (string, number, boolean) เท่านั้น สำหรับ objects คุณต้องใช้ map() + pluck() หรือ unique() แล้วแล้วแต่ว่าต้องการเปรียบเทียบแบบไหน

removeDuplicates() กับ unique() ต่างกันอย่างไร?

removeDuplicates() เปรียบเทียบค่าด้วย strict equality (===) ดังนั้น 1 กับ ‘1’ เป็นคนละตัว ส่วน unique() ใช้ loose comparison บางทีแปลว่า 1 กับ ‘1’ อาจถูกมองว่าเหมือนกัน (ขึ้นอยู่กับ implementation) ส่วนตัวผมใช้ removeDuplicates() มากกว่าเพราะ strict equality ปลอดภัยกว่า

ใช้ removeDuplicates() ตรงไหนใน workflow?

ใช้ได้ในหลายที่ เช่น Set Node (expression mode) Code Node Conditional Node เพื่อ filter output ส่วนตัวผมชอบใช้ใน Set Node เพื่อตั้ง field ลบซ้ำในตัวตั้งแต่แรก ประหยัดขั้นตอน 😎

ถ้า array มี null หรือ undefined จะเกิดอะไร?

removeDuplicates() จะเก็บ null และ undefined ไว้ด้วย ถ้าเกี่ยงอยากลบออก ให้ใช้ compact() ก่อน เช่น $json.array.compact().removeDuplicates() สำคัญคือต้องเรียง compact() ก่อน removeDuplicates() นะครับ

Resources & Related

Additional Notes

removeDuplicates เป็นเมธอด JavaScript ที่ลบรายการที่ซ้ำออกจากอาร์เรย์ โดยรักษาลำดับดั้งเดิมไว้ ใช้ได้กับ primitives เช่น string, number, boolean และจะเปรียบเทียบค่า (value comparison) ไม่ใช่ reference

ที่เจ๋งคือ removeDuplicates() ใช้ Set อยู่เบื้องหลัง ซึ่งเป็นการเปรียบเทียบแบบ strict equality (===) ดังนั้นมันจะถือว่า 1 กับ ‘1’ (string) เป็นคนละตัว นี่คือความแตกต่างหลักจาก unique() ที่ใช้ loose comparison

ส่วนตัวผมใช้ removeDuplicates() บ่อยมากตอนต้อง clean up email list หรือ tag list จากหลาย source ที่อาจมีข้อมูลซ้ำเกาะกันอยู่ 😎

Leave a Reply

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