---
title: difference – ฟังก์ชันหาความแตกต่างระหว่างอาร์เรย์
url: https://www.thepexcel.com/functions/n8n/array-functions/difference-n8n/
type: function-explainer
program: n8n
syntax: "{{ $json.array1.difference($json.array2) }}"
date: 2025-12-16
updated: 2025-12-26
scores:
  popularity: 5
  difficulty: 4
  usefulness: 5
---

# difference – ฟังก์ชันหาความแตกต่างระหว่างอาร์เรย์

> difference เปรียบเทียบอาร์เรย์สองตัว แล้วคืนค่าสมาชิกที่อยู่ในอาร์เรย์แรกเท่านั้น มีประโยชน์ในการหาข

## คำอธิบาย

difference เปรียบเทียบอาร์เรย์สองตัว แล้วคืนค่าสมาชิกที่อยู่ในอาร์เรย์แรกเท่านั้น มีประโยชน์ในการหาข้อมูลใหม่ ข้อมูลที่หายไป หรือข้อมูลที่ไม่ตรงกัน

## Syntax

```excel
{{ $json.array1.difference($json.array2) }}
```

**Variant**

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

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

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| array1 | Yes | array |  | อาร์เรย์แรกที่เป็นฐานหลัก (เอาข้อมูลจากตรงนี้) |
| array2 | Yes | array |  | อาร์เรย์ที่สองสำหรับเปรียบเทียบ (ค่าอะไรที่อยู่ตรงนี้จะถูกตัดออก) |

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

### หารายชื่อลูกค้าใหม่

หาความแตกต่างระหว่างรายชื่อลูกค้าทั้งหมดกับรายชื่อลูกค้าที่ซื้อแล้ว เพื่อหารายชื่อที่ยังไม่ซื้อ

_เหมาะกับ:_ data-comparison

### หา Item ที่ขาดหายไป

หาความแตกต่างระหว่างรายการสินค้าที่สั่งซื้อกับรายการที่ได้รับ

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

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: หาความแตกต่างพื้นฐาน

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

**ผลลัพธ์:** `[1, 2]`

ใช้ใน Set Node เพื่อหาเลขที่อยู่ในอาร์เรย์แรกแต่ไม่อยู่ในที่สอง อาร์เรย์แรกมี 1 2 3 4 5 ลบออกด้วย 3 4 5 6 ผลลัพธ์เหลือ 1 และ 2 เท่านั้น เลขที่ตัดออกคือ 3 4 5 ส่วนเลข 6 ไม่มีในแรกเลยไม่นับครับ

### 2. ตัวอย่างที่ 2: หารายชื่อลูกค้าใหม่

```excel
{{ $json.allCustomers.difference($json.purchasedCustomers) }}
```

**ผลลัพธ์:** `[customer_id_1, customer_id_2, ...]`

ใช้ใน Set Node หรือ Code Node เพื่อหาลูกค้าที่ยังไม่เคยซื้อสินค้า ส่วนตัวผมใช้ประจำเวลาต้องการส่ง Email หรือ Promotion ให้ลูกค้าใหม่ที่ยังไม่ซื้อ ชีวิตมาโครง่ายลงเยอะครับ

### 3. ตัวอย่างที่ 3: หา Item ขาดหาย

```excel
{{ $node['Order'].json.items.difference($node['Receive'].json.items) }}
```

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

ใช้ใน Set Node เพื่อดึง item ที่สั่งมาแต่ยังไม่ได้รับจากโหนด Order ลบออกด้วยรายการที่ได้รับแล้วจากโหนด Receive ผลลัพธ์คือรายการสินค้าที่ขาดหาย ช่วยเช็ครายการสินค้าเข้าออกเบ้อๆ ได้เลยครับ

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

- ผมแนะนำให้ใช้ใน Set Node สำหรับการเปรียบเทียบง่ายๆ ถ้าต้องตรวจสอบมากกว่า 2 อาร์เรย์ให้ใช้ Code Node เพื่อให้มีความยืดหยุ่นมากขึ้นครับ

- ถ้าผลลัพธ์มี duplicate ที่ไม่ต้องการให้ใช้ร่วมกับ unique() แบบนี้ array1.difference(array2).unique()

- ใช้ร่วมกับ intersection() เพื่อหาข้อมูลที่ซ้ำกัน และ concat() หรือ merge ต่อข้อมูลต่างๆ ได้ครับ

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

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

สำคัญมากครับ difference(array1, array2) คืนค่าสมาชิกของ array1 ที่ไม่อยู่ใน array2 ถ้าสลับลำดับเป็น difference(array2, array1) ผลลัพธ์จะกลับด้านเลย ต่างจาก intersection ที่ไม่สำคัญลำดับครับ ต้องระวังจุดนี้

**Q: difference() จะรับอาร์เรย์ที่มี duplicate ได้หรือ?**

ได้เลยครับ ฟังก์ชันจะคืนค่า duplicate มาด้วย ถ้าเราไม่อยากเห็น duplicate ในผลลัพธ์ เราต้องใช้ unique() หลังจากใช้ difference() ก็จะสะอาดแล้วนะ ส่วนตัวผมชอบทำแบบนี้ประจำครับ

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

ใช้ตรงที่ต้องเปรียบเทียบข้อมูลสองชุดและหาสิ่งที่มีในชุดแรกแต่ไม่มีในชุดที่สองครับ ตัวอย่างง่ายๆ คือ หาลูกค้าใหม่ หาสินค้าขาดหาย หาออร์เดอร์ที่ยังไม่ได้ส่ง หรือหาข้อมูลใดๆ ที่ควรตรวจสอบ difference แค่นั้นก็พอ

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

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

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

- [n8n Expressions: difference Function](https://docs.n8n.io/code/expressions/) _(article)_
- [Array Comparison Functions](https://docs.n8n.io/code/builtin/overview/) _(article)_

---

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