将对象数组转换为 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 千次以上浏览

开启你的职业生涯

完成课程获得认证

开始
广告