Computer >> Máy Tính >  >> Lập trình >> Javascript

Chuyển đổi mảng đối tượng thành một mảng đối tượng trong JavaScript

Giả sử chúng ta có một mảng các đối tượng như thế này -

const arr = [{id:1,name:"aa"},{id:2,name:"bb"},{id:3,name:"cc"}];

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng như vậy và trả về một đối tượng của đối tượng trong đó khóa của mỗi đối tượng phải là thuộc tính id.

Do đó, đầu ra sẽ giống như thế này -

const output = {1:{name:"aa"},2:{name:"bb"},3:{name:"cc"}};

Lưu ý rằng thuộc tính id được sử dụng để ánh xạ các đối tượng con sẽ bị xóa khỏi chính các đối tượng con đó.

Ví dụ

Mã cho điều này sẽ là -

const arr = [{id:1,name:"aa"},{id:2,name:"bb"},{id:3,name:"cc"}];
const arrayToObject = arr => {
   const res = {};
   for(let i = 0; i < arr.length; i++){
      const key = arr[i]['id'];
      res[key] = arr[i];
      delete res[key]['id'];
   };
   return res;
};
console.log(arrayToObject(arr));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

{ '1': { name: 'aa' }, '2': { name: 'bb' }, '3': { name: 'cc' } }