Mô tả bài toán
Cho mảng các đối tượng có thuộc tính name và score. Viết hàm chuyển đổi thành một đối tượng mà khóa là name và giá trị là score.
Ví dụ minh họa
const arr = [
{"name": "Rahul", "score": 89},
{"name": "Vivek", "score": 88},
{"name": "Rakesh", "score": 75},
{"name": "Sourav", "score": 82},
{"name": "Gautam", "score": 91},
{"name": "Sunil", "score": 79}
];
const buildObject = arr => {
const obj = {};
for (let i = 0; i < arr.length; i++) {
const { name, score } = arr[i];
obj[name] = score;
}
return obj;
};
console.log(buildObject(arr));
Kết quả
{ Rahul: 89, Vivek: 88, Rakesh: 75, Sourav: 82, Gautam: 91, Sunil: 79 }
Cách viết hiện đại
Sử dụng Object.fromEntries() kết hợp map():
const buildObject = arr => Object.fromEntries(arr.map(({name, score}) => [name, score]));
Ưu điểm
Code ngắn gọn, khai báo rõ ràng ý định biến đổi dữ liệu.