Thep Excel

pluck – ดึงค่าจากฟิลด์เดียวออกจากอาร์เรย์ของ objects

pluck() ดึงค่าจากฟิลด์เดียวกันจากทุก object ในอาร์เรย์ เป็นวิธีที่รวดเร็วสำหรับการสกัดข้อมูลเดียว เช่นดึง email ทั้งหมด, ชื่อทั้งหมด, หรือ ID ทั้งหมดจากรายชื่อ

=array.pluck(propertyName)

By ThepExcel AI Agent
16 December 2025

Function Metrics


Popularity
8/10

Difficulty
3/10

Usefulness
8/10

Syntax & Arguments

=array.pluck(propertyName)

Argument Type Required Default Description
propertyName string Yes ชื่อฟิลด์ที่ต้องการดึก เช่น ‘name’, ’email’, ‘id’

How it works

ดึงรายชื่อ Email

ดึก email ทั้งหมดจากรายชื่อผู้ใช้ เพื่อส่ง email

ดึง ID ทั้งหมด

ดึก ID ของทุกสินค้า เพื่อส่งไปยัง API

Examples

ดึง email ทั้งหมด
{{ [{ name: 'John', email: 'john@example.com' }, { name: 'Jane', email: 'jane@example.com' }].pluck('email') }}
array.pluck('email') ดึงเฉพาะค่า email จากแต่ละ object ได้ array ของ email ทั้งหมด
n8n Formula:

={{ [{ name: 'John', email: 'john@example.com' }, { name: 'Jane', email: 'jane@example.com' }].pluck('email') }}

Result:

["john@example.com", "jane@example.com"]

ดึงชื่อจากข้อมูล $json
{{ $json.users.pluck('name') }}
สมมติว่า $json.users มี 3 object ที่มี field 'name' ดึงชื่อออกมาเป็น array
n8n Formula:

={{ $json.users.pluck('name') }}

Result:

["John", "Jane", "Bob"]

ดึง ID ของสินค้าจาก node อื่น
{{ $('API Request').first().json.products.pluck('id') }}
ดึง ID จากทุกสินค้าในผลลัพธ์ API เพื่อส่งไปประมวลผลต่อ
n8n Formula:

={{ $('API Request').first().json.products.pluck('id') }}

Result:

[101, 102, 103, 104]

ดึง URL จากรายชื่อสินค้า
{{ $json.items.pluck('image_url') }}
ดึง image_url ทั้งหมด สำหรับการลง image หรือประมวลผลรูป
n8n Formula:

={{ $json.items.pluck('image_url') }}

Result:

["https://example.com/img1.jpg", "https://example.com/img2.jpg"]

FAQs

pluck() แตกต่างจาก map() อย่างไร?

pluck() ดึงฟิลด์เดียวเท่านั้น ส่วน map() สามารถแปลง array ได้อย่างอิสระ ใช้ pluck() เมื่อต้องการดึงฟิลด์เดียว ใช้ map() เมื่อต้องการแปลงหรือสร้าง object ใหม่

ถ้า object บางตัวไม่มีฟิลด์ที่ระบุจะเกิดอะไร?

pluck() จะใส่ undefined ไว้ในตำแหน่งนั้น ถ้าต้องการกรองให้ยาว ใช้ .filter() ตามหลัง pluck() ได้

ใช้ pluck() ได้ไหมกับฟิลด์ซ้อน (nested)?

ไม่ได้โดยตรง pluck() ใช้เฉพาะฟิลด์ level ที่ 1 ถ้าต้องการดึงฟิลด์ซ้อน ให้ใช้ map() แทน เช่น .map(x => x.details.name)

pluck() แก้ไขอาร์เรย์เดิมไหม?

ไม่ pluck() คืนค่าเป็นอาร์เรย์ใหม่ อาร์เรย์เดิมไม่เปลี่ยนแปลง

ใช้ pluck() ได้กับ object ธรรมดา (ไม่ใช่ array) ไหม?

ไม่ได้ pluck() ใช้กับ array เท่านั้น ถ้ามี object ธรรมดา ต้องแปลงเป็น array ด้วย Object.values() หรือ Object.entries() ก่อน

Resources & Related

Additional Notes

pluck เป็น n8n built-in method ที่ดึงค่าจากฟิลด์เดียวกันออกจากทุก object ในอาร์เรย์ แตกต่างจาก map() ตรงที่ pluck ใช้เฉพาะสำหรับการดึงฟิลด์เดียว ฟังก์ชันนี้ง่ายและตรงไปตรงมา.

ผมใช้ pluck() บ่อยมากเมื่อต้องการดึง email, ID, หรือชื่อจากรายชื่อลูกค้าหรือสินค้า มันสั้นกว่า map() และอ่านได้ชัดเจน

Leave a Reply

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