Cho object chứa rating cầu thủ, cần chuyển thành mảng object với property name và rating.
const playerRating = { 'V Kohli':{ batting: 99, fielding: 99 }, 'R Sharma':{ batting: 98, fielding: 95 }, 'S Dhawan':{ batting: 92, fielding: 90 } }
Dùng Object.keys() lặp và push vào mảng:
Ví dụ
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);
Kết quả
[ { name: 'V Kohli', rating: { batting: 99, fielding: 99 } }, { name: 'R Sharma', rating: { batting: 98, fielding: 95 } }, { name: 'S Dhawan', rating: { batting: 92, fielding: 90 } } ]
Object.keys() trả về mảng key, forEach biến đổi mỗi key thành object {name, rating}. Cách ES2017+: Object.entries(playerRating).map(([name, rating]) => ({name, rating})).