listMap 结构根据key值相同,累加或合并其他的属性
example:
// 原数组
[
{key:'name',number:2},
{key:'code',number:3},
{key:'age',number:4},
{key:'name',number:5}
]
//预期
[
{key:'name',number:7},
{key:'code',number:3},
{key:'age',number:4},
]
逻辑方法
listMap 结构根据key合并其他的属性
//合并相同项
let listMap = [
{key:'name',number:2},
{key:'code',number:3},
{key:'age',number:4},
{key:'name',number:5}
]
let newlistMap=[];
let temp = {};
for(var i in listMap) {
var key= listMap[i].key;
if(temp[key]) {
temp[key].c = temp[key].key;
temp[key].number = temp[key].number + listMap[i].number;
} else {
temp[key] = {};
temp[key].key = listMap[i].key;
temp[key].number = listMap[i].number;
}
}
for(var k in temp){
newlistMap.push(temp[k])
}
//end
多层结构的思路也如此
加入我的技术群,一起学习
707196135