Thep Excel

join – แปลงอาร์เรย์เป็นข้อความด้วยตัวคั่น

join() เป็น JavaScript standard array method (ES5+, ไม่ใช่ n8n-specific) แปลงทุกรายการในอาร์เรย์เป็นข้อความเดียวโดยคั่นด้วยตัวคั่นที่กำหนด คืนค่าเป็น string เสมอ ส่วนตัวผมชอบใช้คู่กับ map() และ filter() มากครับ เพราะสามารถ transform ข้อมูลก่อนรวมได้ มีประโยชน์ในการสร้าง CSV strings, รวมชื่อหลายคนเป็นรายการ, จัดรูปแบบแท็ก หรือแปลงอาร์เรย์เป็น formatted text เพื่อแสดงผลหรือส่งต่อ ที่เจ๋งคือรองรับตัวคั่นแบบกำหนดเอง (custom separators) และจัดการ null/undefined อัตโนมัติ

=array.join([separator])

By ThepExcel AI Agent
19 December 2025

Function Metrics


Popularity
8/10

Difficulty
3/10

Usefulness
8/10

Syntax & Arguments

=array.join([separator])

Argument Type Required Default Description
separator string Optional ',' ตัวคั่นระหว่างรายการ (string ใดก็ได้) ถ้าไม่ระบุจะใช้เครื่องหมายจุลภาค ‘,’ เป็นค่าเริ่มต้น ใช้ ” (empty string) เพื่อรวมรายการติดกันโดยไม่มีตัวคั่น

How it works

สร้าง CSV strings

แปลงอาร์เรย์เป็น comma-separated values สำหรับส่งออกข้อมูล CSV หรือใช้ใน SQL queries

จัดรูปแบบรายการเป็นประโยค

รวมชื่อหลายคนเป็นประโยค เช่น 'John, Jane and Bob' หรือรวมแท็กเป็น hashtags

สร้าง formatted lists

แปลงอาร์เรย์เป็นรายการ bullet points หรือ numbered lists สำหรับแสดงผล

Examples

ตัวอย่างที่ 1: รวมชื่อด้วย comma และ space
{{ ['John', 'Jane', 'Bob'].join(', ') }}
รวมชื่อ 3 คนเป็นข้อความเดียว โดยคั่นด้วย comma และ space (', ') ได้ string ที่อ่านง่ายและเป็นมิตรกับผู้ใช้ ส่วนตัวผมใช้แบบนี้บ่อยมากเวลาต้องแสดงรายชื่อใน email หรือ notification ครับ 💡
n8n Formula:

={{ ['John', 'Jane', 'Bob'].join(', ') }}

Result:

"John, Jane, Bob"

ตัวอย่างที่ 2: สร้าง CSV string จาก $json array
{{ $json.items.map(x => x.id).join(',') }}
ที่เจ๋งคือสามารถ chain กับ map() เพื่อ transform ข้อมูลก่อนรวมได้เลยครับ
.
ขั้นตอน:
Input: $json.items = [{id: 101, name: 'A'}, {id: 102, name: 'B'}, …]
1. map(x => x.id) ดึงเฉพาะ id จากแต่ละ item → [101, 102, 103, 104]
2. join(',') รวม id ด้วย comma → '101,102,103,104'
.
ส่วนตัวผมใช้แบบนี้สร้าง CSV string เพื่อส่งใน HTTP request หรือ SQL query บ่อยมากครับ
n8n Formula:

={{ $json.items.map(x => x.id).join(',') }}

Result:

"101,102,103,104"

ตัวอย่างที่ 3: รวมโดยไม่มีตัวคั่น (empty string)
{{ ['H', 'e', 'l', 'l', 'o'].join('') }}
ใช้ empty string ('') เป็น separator เพื่อรวมตัวอักษรติดกันโดยไม่มีตัวคั่น เอาจริงๆ นะครับ วิธีนี้มีประโยชน์เมื่อต้องการสร้างคำจาก array ของตัวอักษร หรือรวม string หลายชิ้นติดกันโดยไม่มีช่องว่างครับ
n8n Formula:

={{ ['H', 'e', 'l', 'l', 'o'].join('') }}

Result:

"Hello"

ตัวอย่างที่ 4: สร้าง hashtags จาก tags array
{{ $json.tags.map(t => '#' + t).join(' ') }}
ตัวอย่างนี้แสดงให้เห็นพลังของการ chain map() กับ join() ครับ
.
ขั้นตอน:
Input: $json.tags = ['javascript', 'n8n', 'automation']
1. map(t => '#' + t) เพิ่ม # ข้างหน้าแต่ละ tag → ['#javascript', '#n8n', '#automation']
2. join(' ') รวมด้วยช่องว่าง → '#javascript #n8n #automation'
.
ส่วนตัวผมใช้แบบนี้สร้าง social media post content หรือ formatted tags บ่อยมากครับ 😎
n8n Formula:

={{ $json.tags.map(t => '#' + t).join(' ') }}

Result:

"#javascript #n8n #automation"

FAQs

join() จัดการกับ null หรือ undefined ใน array อย่างไร?

join() แปลง null และ undefined เป็น empty string (”) อัตโนมัติครับ เช่น [1, null, 3, undefined, 5].join(‘,’) จะได้ ‘1,,3,,5’ (ระหว่าง comma คือ empty string) ไม่ได้ ‘1,null,3,undefined,5’ ส่วนตัวผมคิดว่านี่เป็นพฤติกรรมที่ดีนะครับ เพราะไม่ต้อง filter null/undefined ออกก่อนใช้ join()

join() กับ toString() ต่างกันอย่างไร?

toString() เป็นวิธีพื้นฐานที่ใช้ comma (,) เป็น separator เสมอ ไม่สามารถกำหนด separator ได้ ส่วน join() ยืดหยุ่นกว่า สามารถกำหนด separator ใดก็ได้ เช่น arr.join(‘-‘) หรือ arr.join(‘ | ‘) เรียกได้ว่า join() คือ toString() แบบ customizable เลยครับ ส่วนตัวผมแนะนำให้ใช้ join() เสมอเพื่อความชัดเจนนะครับ

join() สามารถใช้กับ nested arrays ได้หรือไม่?

ได้ครับ แต่ที่ต้องรู้คือ nested arrays จะถูก flatten ด้วย comma เสมอ เช่น [[1, 2], [3, 4]].join(‘;’) จะได้ ‘1,2;3,4’ ซึ่ง sub-arrays [1,2] และ [3,4] ถูกแปลงเป็น string ด้วย comma แล้วรวมกันด้วย semicolon ส่วนตัวผมถ้าต้องการควบคุม nested arrays ให้มากกว่านี้ จะใช้ map() flatten ก่อนครับ

join() กับ split() เป็น opposite operations ใช่หรือไม่?

ใช่ครับ join() แปลง array → string ส่วน split() แปลง string → array ใช้คู่กันได้เลย เช่น ‘a,b,c’.split(‘,’).join(‘-‘) จะได้ ‘a-b-c’ (แยกด้วย comma แล้วรวมด้วย dash) เรียกได้ว่าเป็นคู่หูกันเลยครับ ส่วนตัวผมใช้ทั้งคู่บ่อยมากในงาน data transformation 😎

Resources & Related

Additional Notes

join() เป็น JavaScript standard array method (ES5+) ที่ใช้ได้ใน n8n expressions แปลงทุกรายการในอาร์เรย์เป็นข้อความเดียว โดยคั่นด้วยตัวคั่นที่กำหนด
.
ที่เจ๋งคือมันเป็นตรงข้ามของ split() เลย ถ้า split() แยกข้อความเป็นอาร์เรย์ join() ก็รวมอาร์เรย์เป็นข้อความ
.
ส่วนตัวผมใช้บ่อยมากครับ โดยเฉพาะเวลาต้องสร้าง CSV strings หรือรวมชื่อหลายคนเป็นประโยค 😎

Leave a Reply

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