---
title: .intersection() – ฟังก์ชันหาข้อมูลที่ซ้ำกันระหว่างอาร์เรย์
url: https://www.thepexcel.com/functions/n8n/array-functions/intersection-n8n/
type: function-explainer
program: n8n
syntax: "{{ array1.intersection(array2) }}"
date: 2025-12-16
updated: 2025-12-25
scores:
  popularity: 5
  difficulty: 4
  usefulness: 5
---

# .intersection() – ฟังก์ชันหาข้อมูลที่ซ้ำกันระหว่างอาร์เรย์

> .intersection() หาสมาชิกร่วมที่อยู่ในอาร์เรย์ทั้งสอง ฟังก์ชันนี้มีประโยชน์ในการค้นหาข้อมูลที่ตรงกัน

## คำอธิบาย

.intersection() หาสมาชิกร่วมที่อยู่ในอาร์เรย์ทั้งสอง ฟังก์ชันนี้มีประโยชน์ในการค้นหาข้อมูลที่ตรงกัน เช่นลูกค้าร่วม หรือสินค้าที่ทั้งสองฝ่ายมี

## Syntax

```excel
{{ array1.intersection(array2) }}
```

**Variant**

```excel
$json.list1.intersection($json.list2)
```

ใช้เป็น method เมื่อ $json.list1 เป็น array

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| array1 | Yes | array |  | อาร์เรย์แรก |
| array2 | Yes | array |  | อาร์เรย์ที่สอง |

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

### หาลูกค้าร่วม

หารายชื่อลูกค้าที่ซื้อจากทั้งสองแพลตฟอร์ม

_เหมาะกับ:_ customer-matching

### หาสินค้าเหมือนกัน

หารายชื่อสินค้าที่มีอยู่ในสโตร์ทั้งสอง

_เหมาะกับ:_ inventory-matching

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: หาสมาชิกร่วมพื้นฐาน

```excel
{{ [1, 2, 3, 4].intersection([3, 4, 5, 6]) }}
```

**ผลลัพธ์:** `[3, 4]`

สังเกตว่าเลข 3 และ 4 อยู่ในทั้งสองอาร์เรย์ ผลลัพธ์ก็จะออกมาเป็น [3, 4] เท่านั้น เลข 1, 2 ที่มีแต่ในอาร์เรย์แรก กับ 5, 6 ที่มีแต่ในอาร์เรย์ที่สอง จะถูกตัดออกไปครับ ✨

### 2. ตัวอย่างที่ 2: หาลูกค้าร่วมจากข้อมูล JSON

```excel
{{ $json.store1Customers.intersection($json.store2Customers) }}
```

**ผลลัพธ์:** `[customer_1, customer_3, customer_5, ...]`

ตัวอย่างนี้ช่วยเราหารายชื่อลูกค้าที่ซื้อจากทั้งสองสโตร์พร้อมกัน ซึ่งข้อมูลแบบนี้จะเป็นประโยชน์มากถ้าคุณอยากรู้ว่าใครคือ Loyal Customers ของเรา ใช้ได้ในตัว Set Node ธรรมดาเลย ไม่ต้องสร้าง Code Node 💡

### 3. ตัวอย่างที่ 3: หาสินค้าเหมือนกันจากคลัง

```excel
{{ $node['Warehouse A'].json.items.intersection($node['Warehouse B'].json.items) }}
```

**ผลลัพธ์:** `[item_1, item_2, ...]`

ดึงรายชื่อสินค้าที่มีอยู่ในทั้งสองคลังสินค้า ถ้าคุณต้องการรู้ว่าสินค้าไหนที่เราสามารถจัดส่งได้จากทั้งสองสต็อก intersection ตรงนี้ก็จะมีประโยชน์ครับ ลองใช้ร่วมกับ IF Node เพื่อ filter สินค้าก็ได้

### 4. ตัวอย่างที่ 4: ตรวจสอบผู้ใช้ที่ใช้งานทั้งสองเวอร์ชัน

```excel
{{ $json.appV1_users.intersection($json.appV2_users) }}
```

**ผลลัพธ์:** `[user_123, user_456, ...]`

หากคุณมีแอปสองเวอร์ชันและต้องการหาว่าใครใช้ทั้งเวอร์ชัน intersection ช่วยหาผู้ใช้ที่ใช้งานอย่างเข้มข้น ปกติใช้ตามด้วย Map Node เพื่อส่ง notification หรือ update profile พวกนี้ได้

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

- ผมแนะนำให้ใช้ .intersection() ใน Set Node เพราะง่ายกว่าและไม่ต้องเขียน JavaScript โค้ดเต็มๆ แค่ใส่ expression {{ array1.intersection(array2) }} ก็ได้เลย

- ถ้าต้องการเปรียบเทียบ object array ให้ใช้ .pluck() หรือ .map() ก่อนเพื่อดึงเฉพาะ key ที่ต้องการแล้วค่อย .intersection() ตัวอย่าง: {{ $json.users.map(u => u.id).intersection($json.subscribers.map(s => s.id)) }}

- ลองใช้ร่วมกับ .difference() เพื่อหาข้อมูลที่มีเฉพาะในอาร์เรย์หนึ่งเท่านั้น และ .concat() หรือ .union() เพื่อรวมข้อมูลทั้งหมด

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

**Q: ลำดับของพารามิเตอร์ใน .intersection() สำคัญหรือไม่?**

ไม่สำคัญเลยครับ ไม่ว่าคุณจะใส่ array1 ก่อนหรือ array2 ก่อน .intersection() จะคืนค่าเดียวกัน เพราะการหาส่วนร่วม (intersection) มันไม่มีทิศทาง ส่วนตัวผมมักใส่อาร์เรย์ที่เล็กกว่าไว้หลัง เพื่อให้ faster เนื่องจากจะลด iteration 😎

**Q: .intersection() จะรับ duplicate ได้หรือ?**

ได้ครับ อาร์เรย์ของคุณมี duplicate ก็ใส่ได้เลย แต่ผลลัพธ์ที่ออกมาจะมีการลบ duplicate อัตโนมัติ ตัวเลขหรือข้อมูลที่ซ้ำกันจะนับแค่ครั้งเดียวเท่านั้น

**Q: ใช้ .intersection() เมื่อไหร่ในการทำ Workflow?**

ใช้เมื่อต้องการหาสมาชิกร่วมระหว่างสองกลุ่มข้อมูล ส่วนตัวผมแนะนำให้ใช้ .intersection() ในสถานการณ์เหล่านี้: การค้นหาลูกค้าร่วมระหว่างสองการแข่งขัน เปรียบเทียบสินค้าที่มีในคลังต่างๆ หาคนที่ติดตามทั้งสองโซเชียลมีเดีย หรือหาออร์เดอร์ที่ซ้ำกัน โดยทั่วไปใช้กับ Set Node หรือ Code Node ก็ได้ครับ

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

- [difference – ฟังก์ชันหาความแตกต่างระหว่างอาร์เรย์](https://www.thepexcel.com/functions/n8n/array-functions/difference-n8n/)
- [unique – ลบค่าซ้ำออกจากอาร์เรย์](https://www.thepexcel.com/functions/n8n/array-functions/unique-n8n/)

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

- [n8n Expressions: Array Methods](https://docs.n8n.io/code/expressions/) _(article)_
- [n8n Builtin Functions Documentation](https://docs.n8n.io/code/builtin/overview/) _(article)_

---

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