js的map对象实现对数组中某一项数据的分组
2022-01-03 本文已影响0人
苏苏哇哈哈
1.Js中Map对象的使用(es6新增)
Map对象保存键/值对,是键/值对的集合。任何值(对象或者原始值) 都可以作为一个键或一个值。Object结构提供了“字符串—值”的对应,Map结构提供了“值—值”的对应。
语法:
mapObj = new Map()
集合中的键和值可以是任何类型。如果使用现有密钥向集合添加值,则新值会替换旧值。
2.实现步骤:
原数组:
在这里插入图片描述
根据groupCode来进行分组:
let map = {};
arr.map((item) => {
if (!map[item.groupCode]) {
map[item.groupCode] = [item];
} else {
map[item.groupCode].push(item);
}
});
let resData = [];
Object.keys(map).forEach((key) => {
resData.push({
groupCode: key,
data: map[key],
});
});
分组之后的数据:
在这里插入图片描述