สมมติเรามีออบเจ็กต์ของออบเจ็กต์ที่เก็บคะแนนนักกีฬา เราต้องแปลงเป็นอาร์เรย์ออบเจ็กต์ ที่แต่ละออบเจ็กต์มี 2 คุณสมบัติคือ name และ rating โดย name เก็บชื่อผู้เล่น และ rating เก็บออบเจ็กต์คะแนน
ออบเจ็กต์ตัวอย่าง −
const playerRating = { 'V Kohli':{ batting: 99, fielding: 99 }, 'R Sharma':{ batting: 98, fielding: 95 }, 'S Dhawan':{ batting: 92, fielding: 90 } }วิธีแก้ไขง่ายๆ ใช้ Object.keys() วนลูปและแปลงเป็นอาร์เรย์พร้อมกัน
โค้ดเต็มพร้อม Output ด้านล่าง
ตัวอย่าง
const playerRating = { 'V Kohli':{ batting: 99, fielding: 99 }, 'R Sharma':{ batting: 98, fielding: 95 }, 'S Dhawan':{ batting: 92, fielding: 90 } } const objArray = []; Object.keys(playerRating).forEach(key => objArray.push({ name: key, rating: playerRating[key] })); console.log(objArray);ผลลัพธ์
[ { name: 'V Kohli', rating: { batting: 99, fielding: 99 } }, { name: 'R Sharma', rating: { batting: 98, fielding: 95 } }, { name: 'S Dhawan', rating: { batting: 92, fielding: 90 } } ]