={{ max(array) }}
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| array | number[] | Yes | อาร์เรย์ที่มีค่าตัวเลข เช่น [10, 20, 30, 40] หรือผลลัพธ์จากการ map() ข้อมูลจาก $json |
ดึงราคาสูงสุดของสินค้าจากรายการทั้งหมด เพื่อแสดงราคาสูงสุดในบริเวณนั้น
หาคะแนนสูงสุดจากนักเรียนทั้งหมด เพื่อประกาศเกียรติคุณหรือวิเคราะห์ผลการเรียน
{{ max([10, 5, 30, 15, 20]) }}={{ max([10, 5, 30, 15, 20]) }}
30
{{ max($json.products.map(p => p.price)) }}={{ max($json.products.map(p => p.price)) }}
2500
{{ max($node['Sales Data'].json.sales.map(s => s.amount)) }}={{ max($node['Sales Data'].json.sales.map(s => s.amount)) }}
50000
{{ max($json.scores) > 80 }}={{ max($json.scores) > 80 }}
true หรือ false
ไม่ได้ max() ทำงานกับตัวเลขเท่านั้น ถ้าใช้กับ string JavaScript จะพยายามแปลง string เป็นตัวเลข ถ้าแปลงไม่ได้ผลลัพธ์จะเป็น NaN ควรใช้ map() เพื่อแปลง string เป็นตัวเลขก่อน เช่น .map(x => parseInt(x))
max() หาค่าที่มากที่สุด ส่วน min() หาค่าที่น้อยที่สุด ทั้งสองใช้ร่วมกันเพื่อหาช่วงค่า (range) หรือตรวจสอบเงื่อนไขเกี่ยวกับค่าขั้นต่ำและสูงสุด
ใช้เมื่อต้องการหาค่าสูงสุดเช่น ราคาสูงสุด คะแนนสูงสุด ปริมาณสูงสุด ยอดขายสูงสุด มักใช้ร่วมกับ Set node เพื่อบันทึกค่า หรือใช้ใน IF node เพื่อ routing ตามเงื่อนไข
ถ้าอาร์เรย์ว่างจะ max() จะส่งคืน -Infinity ควรตรวจสอบว่าอาร์เรย์มีข้อมูลหรือไม่ก่อนใช้ max() เช่น .length > 0
max เป็นฟังก์ชัน n8n ที่ดึงค่าสูงสุดจากอาร์เรย์ของตัวเลข วิธีการทำงานคือเปรียบเทียบค่าทั้งหมดในอาร์เรย์แล้วส่งคืนค่าที่มากที่สุด
ส่วนตัวผมใช้ max() บ่อยมากเวลาทำ data aggregation ในการนำเข้าข้อมูลจากหลาย sources ก็ต้องหาค่า maximum score หรือ maximum price บ่อย max() ช่วยทำให้โค้ดสั้นและอ่านง่ายขึ้นเยอะ 😎
ที่เจ๋งคือ max() ทำงานดีกับ map() เช่นเมื่อต้องการหาราคาสูงสุดจากผลิตภัณฑ์ที่มีหลายแอตทริบิวต์ ก็ดึงเฉพาะราคาออกมาด้วย map() แล้วหาค่าสูงสุดด้วย max()