假设我们有一个这样的对象数组-
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' } }