Js 分离出属于中若干组相同的数据,不同组的数据放到不同的数组中
时间: 2024-10-12 21:18:02 浏览: 20
在JavaScript中,如果你需要分离一组数据,将其按照其中某些共同属性(如键值对)分成不同的组,并分别放入不同的数组,可以使用Map或者对象作为“容器”,结合数组的`reduce`函数来实现。下面是一个简单的例子:
```javascript
function groupData(array, keyToGroupBy) {
const groupedData = new Map(); // 或者直接用对象 { [groupKey]: [] }
array.forEach(item => {
const groupKey = item[keyToGroupBy];
if (!groupedData.has(groupKey)) {
groupedData.set(groupKey, []);
}
groupedData.get(groupKey).push(item);
});
return Array.from(groupedData.values()); // 转换为普通的数组返回
}
// 示例
const data = [
{ name: 'Alice', team: 'A' },
{ name: 'Bob', team: 'B' },
{ name: 'Charlie', team: 'A' },
{ name: 'Dave', team: 'B' },
];
const teams = groupData(data, 'team');
console.log(teams); // 输出:[ [{name: 'Alice', team: 'A'}, {name: 'Charlie', team: 'A'}], [{name: 'Bob', team: 'B'}, {name: 'Dave', team: 'B'}] ]
```
在这个例子中,我们按`team`字段将数据分为了'A'团队和'B'团队两个数组。
阅读全文