Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Chuyển mảng đối tượng thành đối tượng đơn lẻ trong JavaScript

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.