---
title: join – แปลงอาร์เรย์เป็นข้อความด้วยตัวคั่น
url: https://www.thepexcel.com/functions/n8n/array-functions/join-n8n/
type: function-explainer
program: n8n
syntax: "array.join([separator])"
date: 2025-12-19
scores:
  popularity: 8
  difficulty: 3
  usefulness: 8
---

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

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

## คำอธิบาย

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

## Syntax

```excel
array.join([separator])
```

**Variant**

```excel
$json.items.join(', ')
```

รวมรายการด้วยจุลภาคและช่องว่าง

**Variant**

```excel
$json.tags.join(' | ')
```

รวมแท็กด้วย pipe separator

**Variant**

```excel
$json.names.join()
```

รวมรายการด้วยจุลภาค (default separator)

## Arguments

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

## เคสการใช้งาน

### สร้าง CSV strings

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

_เหมาะกับ:_ csv-generation

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

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

_เหมาะกับ:_ text-formatting

### สร้าง formatted lists

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

_เหมาะกับ:_ list-display

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: รวมชื่อด้วย comma และ space

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

**ผลลัพธ์:** `"John, Jane, Bob"`

รวมชื่อ 3 คนเป็นข้อความเดียว โดยคั่นด้วย comma และ space (', ') ได้ string ที่อ่านง่ายและเป็นมิตรกับผู้ใช้ ส่วนตัวผมใช้แบบนี้บ่อยมากเวลาต้องแสดงรายชื่อใน email หรือ notification ครับ 💡

### 2. ตัวอย่างที่ 2: สร้าง CSV string จาก $json array

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

**ผลลัพธ์:** `"101,102,103,104"`

ที่เจ๋งคือสามารถ 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 บ่อยมากครับ

### 3. ตัวอย่างที่ 3: รวมโดยไม่มีตัวคั่น (empty string)

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

**ผลลัพธ์:** `"Hello"`

ใช้ empty string ('') เป็น separator เพื่อรวมตัวอักษรติดกันโดยไม่มีตัวคั่น เอาจริงๆ นะครับ วิธีนี้มีประโยชน์เมื่อต้องการสร้างคำจาก array ของตัวอักษร หรือรวม string หลายชิ้นติดกันโดยไม่มีช่องว่างครับ

### 4. ตัวอย่างที่ 4: สร้าง hashtags จาก tags array

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

**ผลลัพธ์:** `"#javascript #n8n #automation"`

ตัวอย่างนี้แสดงให้เห็นพลังของการ 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 บ่อยมากครับ 😎

## หมายเหตุเพิ่มเติม

ส่วนตัวผมใช้ join() บ่อยมากครับ โดยเฉพาะเวลาทำงานกับ array transformations ใน n8n ที่เจ๋งคือมันเป็น JavaScript standard method (ES5+) ไม่ใช่ n8n-specific extension เลย เรียนรู้ครั้งเดียว ใช้ได้ทุกที่ 💡
.
สิ่งที่ต้องจำ:
• คืนค่า string เสมอ (ไม่ใช่ array)
• แปลง null/undefined เป็น empty string อัตโนมัติ
• ใช้คู่กับ map() เพื่อ transform ก่อนรวม
• ใช้คู่กับ filter() เพื่อกรองก่อนรวม
.
ที่ต้องระวังคือ join() เป็น opposite ของ split() ครับ ถ้าคุณจำคู่นี้ได้ จะทำ string-array conversion ได้ง่ายมาก เอาจริงๆ นะครับ ผมแนะนำให้ฝึกใช้ join() คู่กับ map() และ filter() เพราะจะได้ patterns ที่ใช้บ่อยมากใน workflow automation เลยครับ 😎

## คำถามที่พบบ่อย

**Q: 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()

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

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

**Q: 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 ก่อนครับ

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

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

## ฟังก์ชันที่เกี่ยวข้อง

- [split – ฟังก์ชันแยกข้อความจากตัวคั่น](https://www.thepexcel.com/functions/n8n/string-functions/split-n8n/)
- [map – แปลงแต่ละรายการในอาร์เรย์ (transform elements)](https://www.thepexcel.com/functions/n8n/array-functions/map-n8n/)
- [filter – กรองรายการจากอาร์เรย์ตามเงื่อนไข](https://www.thepexcel.com/functions/n8n/array-functions/filter-n8n/)
- [concat – ฟังก์ชันต่อข้อความหลาย ๆ ตัว](https://www.thepexcel.com/functions/n8n/string-functions/concat-n8n/)
- to-json-string-n8n

## แหล่งข้อมูลเพิ่มเติม

- [n8n Expressions Documentation](https://docs.n8n.io/code/expressions/) _(documentation)_
- [MDN: Array.prototype.join()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join) _(documentation)_
- [n8n Array Transformation Functions](https://docs.n8n.io/code/builtin/data-transformation-functions/arrays/) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/n8n/array-functions/join-n8n/](https://www.thepexcel.com/functions/n8n/array-functions/join-n8n/)_
