js数组里取出相同的key组成一个新数组
时间: 2024-09-23 08:04:15 浏览: 50
在JavaScript中,如果你有一个对象数组,并希望获取所有具有相同键(property)的值,你可以通过使用`reduce()`函数和`filter()`来实现这个目标。这里是一个示例:
```javascript
function getGroupsByKey(array, key) {
// 使用reduce()遍历数组,将具有相同key值的对象归为一组
return array.reduce((groups, obj) => {
const value = obj[key];
// 如果当前组还没有这个value,创建一个新的组
if (!groups[value]) {
groups[value] = [];
}
// 将当前对象添加到对应的组中
groups[value].push(obj);
return groups;
}, {});
}
// 示例数组
const arr = [
{ name: 'John', age: 25 },
{ name: 'Jane', age: 25 },
{ name: 'Jim', age: 30 },
{ name: 'Alice', age: 25 },
];
// 获取age为25的对象数组
const age25Group = getGroupsByKey(arr, 'age');
console.log(age25Group); // 输出:{ 25: [{ name: 'John', age: 25 }, { name: 'Jane', age: 25 }, { name: 'Alice', age: 25 }] }
阅读全文
相关推荐

















