js中一个数组对象,将其变成按照数组对象的一个值得值作为键的对象
时间: 2024-03-09 09:45:33 浏览: 52
可以使用reduce方法将数组对象转换为按照指定键的值作为键的对象。例如,假设有以下数组对象:
```javascript
const arr = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' },
{ id: 3, name: 'Charlie' }
];
```
如果要按照id属性的值作为键,可以使用以下代码将其转换为对象:
```javascript
const obj = arr.reduce((acc, cur) => {
acc[cur.id] = cur;
return acc;
}, {});
console.log(obj);
// 输出:
// {
// 1: { id: 1, name: 'Alice' },
// 2: { id: 2, name: 'Bob' },
// 3: { id: 3, name: 'Charlie' }
// }
```
在上面的代码中,reduce方法的第一个参数是一个回调函数,它接受两个参数:累加器(即最终的结果对象)和当前元素。回调函数的返回值将被用作下一次调用的累加器的值。在每次调用中,我们将当前元素的id属性的值作为键,将整个当前元素对象作为值,存储到累加器对象中。最终,reduce方法返回的累加器对象就是我们要的按照id属性值为键的对象。
阅读全文