將物件陣列轉換為 JavaScript 中的物件物件


假設我們有一個如下所示的物件陣列 -

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

我們需要編寫一個接收此類陣列的 JavaScript 函式,並返回一個物件物件,其中每個物件的鍵應為 id 屬性。

因此,輸出應如下所示 -

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

請注意,用於對映子物件的 id 屬性已從子物件本身中刪除。

示例

程式碼如下 -

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));

輸出

而控制檯中的輸出將為 -

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

更新於:20-Nov-2020

2 千次以上瀏覽

開啟你的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.