写数组对象根据对象中相同属性,提出一个数组对象
时间: 2023-11-19 07:59:30 浏览: 73
可以使用 JavaScript 中的 reduce() 方法来实现。
例如,假设有以下数组对象:
```
const arr = [
{ name: 'Alice', age: 25, city: 'New York' },
{ name: 'Bob', age: 32, city: 'Los Angeles' },
{ name: 'Charlie', age: 28, city: 'New York' },
{ name: 'Dave', age: 26, city: 'Los Angeles' },
];
```
如果要按照城市将对象分组,并提出一个包含同一城市对象的数组,可以使用以下代码:
```
const grouped = arr.reduce((acc, obj) => {
const key = obj.city;
if (!acc[key]) {
acc[key] = [];
}
acc[key].push(obj);
return acc;
}, {});
// Output:
// {
// 'New York': [
// { name: 'Alice', age: 25, city: 'New York' },
// { name: 'Charlie', age: 28, city: 'New York' }
// ],
// 'Los Angeles': [
// { name: 'Bob', age: 32, city: 'Los Angeles' },
// { name: 'Dave', age: 26, city: 'Los Angeles' }
// ]
// }
```
这样就可以得到一个以城市名为键、对象数组为值的对象了。
阅读全文