keys() ดึงรายชื่อคีย์ทั้งหมดจากอ็อบเจ็กต์ ส่งคืนเป็นอาร์เรย์ ใช้สำรวจโครงสร้างข้อมูล วนลูป หรือแปลงข้อมูลจากอ็อบเจ็กต์
={{ $json.fieldName.keys() }}
={{ $json.fieldName.keys() }}
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| object (implicit) | Object | Yes | อ็อบเจ็กต์ที่ต้องการดึงคีย์ (ระบุเป็นโครงสร้าง $json.fieldName) |
ดึงชื่อคีย์เพื่อรู้ว่าอ็อบเจ็กต์มีฟิลด์อะไรบ้าง
ใช้เพื่อวนลูปและประมวลผลแต่ละฟิลด์
{{ $json.user.keys() }}={{ $json.user.keys() }}
["id", "name", "email", "role"]
{{ $json.data.keys().length }}={{ $json.data.keys().length }}
5
{{ $json.customer.keys().map(k => ({key: k, value: $json.customer[k]})) }}={{ $json.customer.keys().map(k => ({key: k, value: $json.customer[k]})) }}
[{"key": "id", "value": 123}, {"key": "name", "value": "Alice"}]
{{ $json.response.keys().includes('email') }}={{ $json.response.keys().includes('email') }}
true
keys() คืนค่าลำดับตามลำดับการเพิ่มคีย์ (insertion order) ใน Object ในลักษณะเดียวกับ JavaScript
keys() ใช้กับอ็อบเจ็กต์เท่านั้น สำหรับอาร์เรย์ให้ใช้ .map() หรือ .forEach() แทน
ใช้เมื่อต้องการรู้คีย์ของอ็อบเจ็กต์ สำรวจโครงสร้างข้อมูล วนลูปผ่านแต่ละฟิลด์ หรือตรวจสอบว่าคีย์ที่ต้องการมีอยู่
ได้ ใช้ในโหนด Set เพื่อตั้งค่าฟิลด์ใหม่ที่ขึ้นอยู่กับรายชื่อคีย์
keys() เป็นเมธอด JavaScript ที่ดึงชื่อคีย์ทั้งหมดจากอ็อบเจ็กต์ ส่งคืนเป็นอาร์เรย์ของสตริง ใช้เมื่อต้องการรู้ว่าอ็อบเจ็กต์มีคีย์อะไรบ้าง หรือต้องการวนลูปผ่านแต่ละคีย์
ส่วนตัวผมใช้ keys() บ่อยมากในการสำรวจ JSON ที่มีโครงสร้างไม่รู้จัก หรือเมื่อต้องเปรียบเทียบว่าข้อมูลจากแหล่งต่างๆ มีคีย์เดียวกันหรือไม่ครับ