values() ดึงค่า (values) ทั้งหมดจากอ็อบเจ็กต์ และคืนเป็นอาร์เรย์ ตรงข้ามกับ keys() ที่ดึงชื่อคีย์ values() เหมาะสำหรับการรวบรวมข้อมูล หรือการประมวลผลค่าจากอ็อบเจ็กต์
=Object.values(object)
=Object.values(object)
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| object | object | Yes | อ็อบเจ็กต์ที่ต้องการดึงค่า |
ดึงค่าทั้งหมดเพื่อรวบรวมหรือประมวลผล
แปลงอ็อบเจ็กต์เป็นอาร์เรย์ของค่า
{{ Object.values({name: 'John', email: 'john@example.com', age: 30}) }}={{ Object.values({name: 'John', email: 'john@example.com', age: 30}) }}
["John", "john@example.com", 30]
{{ Object.values($json.scores).reduce((sum, v) => sum + v, 0) }}={{ Object.values($json.scores).reduce((sum, v) => sum + v, 0) }}
280
{{ Object.values($json.users).map(v => v.name.toUpperCase()) }}={{ Object.values($json.users).map(v => v.name.toUpperCase()) }}
["JOHN", "JANE", "BOB"]
{{ Object.values($json.inventory).length }}={{ Object.values($json.inventory).length }}
5
{{ Object.values($json.prices).filter(v => v > 100) }}={{ Object.values($json.prices).filter(v => v > 100) }}
[150, 200, 120]
values() เรียงตามลำดับคีย์ของอ็อบเจ็กต์ (insertion order) ตามลำดับที่คีย์ถูกสร้างขึ้นมา
keys() ดึงชื่อคีย์ (keys) ส่วน values() ดึงค่า (values) ตรงข้ามกันหมด
Object.values() จะทำให้อาร์เรย์กลายเป็นอาร์เรย์เดียวกัน มันใช้ได้ แต่ไม่จำเป็น ใช้ข้อมูลอาร์เรย์โดยตรงดีกว่า
ใช้เมื่อต้องการดึงค่าจากอ็อบเจ็กต์ หรือแปลงอ็อบเจ็กต์เป็นอาร์เรย์ เพื่อใช้กับเมธอดอาร์เรย์อื่น ๆ เช่น map(), filter(), reduce()
ใช้ในการแปลงโครงสร้างข้อมูล โดยเฉพาะเมื่อต้องการเปลี่ยนจากอ็อบเจ็กต์ (key-value pairs) เป็นอาร์เรย์ (list of values) เพื่อประมวลผลต่อ
values() เป็นเมธอดของ Object ที่ใช้ดึงค่าทั้งหมดจากอ็อบเจ็กต์ และคืนเป็นอาร์เรย์
ใช้ Object.values() เมื่อต้องการรวบรวมค่าที่สำคัญโดยไม่สนใจชื่อคีย์ ตัวอย่างเช่น ดึงเลขประจำตัวประชาชนจากอ็อบเจ็กต์ ลูปผ่านค่าทั้งหมด หรือหาผลรวมของตัวเลขทั้งหมด
ส่วนตัวผม values() เป็นฟังก์ชันพื้นฐานที่ใช้บ่อยมากใน n8n workflows โดยเฉพาะเมื่อต้องเปลี่ยนโครงสร้างข้อมูลจากอ็อบเจ็กต์เป็นอาร์เรย์ แล้วต่อเข้ากับ map, filter, reduce หรือลูปอื่น ๆ ครับ