Thep Excel

22 functions

append() เป็น n8n-specific array extension (ไม่ใช่ JavaScript method มาตรฐาน) เพิ่มค่าหรือรายการใหม่ต่อท้ายอาร์เรย์ คืนค่าเป็นอาร์เรย์ใหม่ (immutable – ไม่แก้ไขอาร์เรย์เดิม) มีประโยชน์ในการเพิ่มรายการใหม่ รวมข้อมูลจากหลายแหล่ง หรือสร้างอาร์เรย์แบบ incremental

Syntax
array.append(value)

average คำนวณค่าเฉลี่ยของตัวเลขทั้งหมดในอาร์เรย์ โดยนำผลรวมทั้งหมดหารด้วยจำนวนข้อมูล ฟังก์ชันนี้เป็นประโยชน์ในการวิเคราะห์ข้อมูล เช่น ค่าเฉลี่ยยอดขาย คะแนนสอบ หรือราคาสินค้า

Syntax
average(array)

chunk แบ่งอาร์เรย์ออกเป็นชิ้นเล็กๆ โดยระบุขนาดของแต่ละชิ้น เมื่อมีข้อมูลจำนวนมาก ฟังก์ชันนี้ช่วยในการประมวลผลแบบ batch หรือส่งข้อมูลไปให้บริการภายนอกที่มีจำกัดการใช้งาน

Syntax
chunk(array, size)

compact ลบค่า falsy ทั้งหมด (null, undefined, false, 0, empty string) ออกจากอาร์เรย์ ฟังก์ชันนี้มีประโยชน์ในการทำความสะอาดข้อมูลและเตรียมข้อมูลสำหรับการประมวลผลต่อ

Syntax
compact(array)

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

Syntax
difference(array1, array2)

filter() เป็น JavaScript standard array method (ES2021+, ไม่ใช่ n8n-specific) กรองรายการในอาร์เรย์ตามเงื่อนไขที่กำหนด คืนค่าอาร์เรย์ใหม่ที่มีเฉพาะรายการที่ตรงตามเงื่อนไข (predicate function returns true) มีประโยชน์ในการเลือกข้อมูลเฉพาะส่วน ลบรายการที่ไม่ต้องการ หรือจัดกลุ่มข้อมูลตามเงื่อนไข

Syntax
array.filter(predicate)

first() เป็น n8n array extension ที่ดึงสมาชิกตัวแรกจากอาร์เรย์ โดยไม่ต้องใช้ index notation [0] มีประโยชน์เมื่อต้องการเข้าถึงบันทึกแรก เมตาดาต้า header row หรือการทำให้โค้ด readable มากขึ้น

Syntax
$json.array.first() หรือ {{ [array].first() }}

flatten ลดมิติของ nested array ให้เป็นอาร์เรย์เดียว ฟังก์ชันนี้มีประโยชน์เมื่อมีข้อมูลที่จัดระเบียบเป็นชั้นๆ และต้องการรวมทั้งหมดเข้าด้วยกัน

Syntax
flatten(array, [depth])

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

Syntax
intersection(array1, array2)

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

Syntax
array.join([separator])

last() ดึงสมาชิกตัวสุดท้ายจากอาร์เรย์ เป็น n8n built-in method ที่ช่วยให้เข้าถึงข้อมูลล่าสุดได้ง่าย เช่น บันทึกล่าสุดจาก database, ความคิดเห็นล่าสุด, หรือ order ล่าสุดที่ถูกประมวลผล โดยไม่ต้องคำนวณ index เอง

Syntax
array.last()

map() เป็น JavaScript standard array method (ES2021+, ไม่ใช่ n8n-specific) แปลงแต่ละรายการในอาร์เรย์โดยใช้ callback function คืนค่าอาร์เรย์ใหม่ที่มีความยาวเท่าเดิม แต่รายการถูก transform แล้ว มีประโยชน์ในการสกัด fields, คำนวณค่าใหม่ หรือแปลงรูปแบบข้อมูล

Syntax
array.map(callback)

merge() เป็นเมธอดของ n8n ที่รวมอ็อบเจ็กต์สองตัวโดยใช้ base object (อ็อบเจ็กต์แรก) เป็นฐาน เมื่อคีย์ซ้ำกัน ค่าจาก base จะถูกเก็บไว้ สร้าง object ใหม่ (immutable) ไม่แก้ไข object เดิม ใช้ได้กับการสร้างค่าเริ่มต้น รวมข้อมูล หรือเพิ่ม metadata ให้ workflow results

Syntax
baseObject.merge(objectToMerge)

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

Syntax
array.pluck(propertyName)

randomItem สุ่มเลือกรายการหนึ่งจากอาร์เรย์ที่ป้อน ฟังก์ชันนี้มีประโยชน์ในการสุ่มเลือกค่า สร้างตัวอย่างการทำงาน หรือการสาธิตเพื่อการทดสอบระบบ

Syntax
randomItem(array)

reduce() เป็น JavaScript standard array method (ES2021+, ไม่ใช่ n8n-specific) ประมวลผลแต่ละรายการในอาร์เรย์โดยใช้ reducer function (accumulator, currentValue) => newAccumulator คืนค่าผลลัพธ์เดียวที่ได้จากการรวมหรือสะสมค่า มีประโยชน์ในการหาผลรวม ผลคูณ นับจำนวน สร้าง objects/maps หรือคำนวณค่า statistics

Syntax
array.reduce((accumulator, currentValue) => newAccumulator, initialValue)

removeDuplicates ลบข้อมูลซ้ำออกจากอาร์เรย์ โดยเก็บเพียงอันแรกของแต่ละค่าเดียว ประโยชน์มากในการทำความสะอาดข้อมูล เช่นลบรายชื่อลูกค้า Email หรือ ID ที่ซ้ำ

Syntax
{{ $json.array.removeDuplicates() }}

some() เป็น JavaScript array method มาตรฐาน (ไม่ใช่ฟังก์ชันเฉพาะ n8n) ตรวจสอบว่ามีรายการอย่างน้อยหนึ่งรายการในอาร์เรย์ที่ผ่านเงื่อนไขที่กำหนด คืน true ถ้ามีรายการใดรายการหนึ่งผ่าน หรือ false ถ้าไม่มีรายการใดผ่านเลย

Syntax
array.some(callback)

sum() เป็น array method ที่รวมยอดตัวเลขทั้งหมดใน array ให้เป็นผลรวมเดียว ใช้บ่อยมากในการคำนวณยอดรวม ยอดขาย หรือ aggregation ของข้อมูลตัวเลข

Syntax
$input.all().map(item => item.json.field).sum()

unique() เป็น n8n built-in array method ลบค่าซ้ำ (duplicates) ออกจากอาร์เรย์ คืนค่าอาร์เรย์ใหม่ที่มีเฉพาะค่าที่ไม่ซ้ำกัน เก็บลำดับการปรากฏครั้งแรก มีประโยชน์ในการทำความสะอาดข้อมูล หาค่าเฉพาะตัว หรือลบข้อมูลซ้ำจากรายการ

Syntax
array.unique()