2024年07月22日 建站教程
let list=[
{
"year": 2021,
"price0": 12,
"price1": 0,
"price2": 22
},
{
"year": 2022,
"price0": 1,
"price1": 32,
"price2": 121
},
{
"year": 2021,
"price0": 0,
"price1": 0,
"price2": 0
},
{
"year": 2022,
"price0": 24195.36,
"price1": 76262.56,
"price2": 0
}
]
合并方法
function someDataMerge(arr, sameKey, mergeKey){
var result = [];
var temp = {};
for (var i in arr) {
var key = arr[i][sameKey];
if (temp[key]) {
temp[key][sameKey] = temp[key][sameKey];
for(var j=0;j<mergeKey.length; j++){
temp[key][mergeKey[j]] = temp[key][mergeKey[j]] + arr[i][mergeKey[j]];
}
} else {
temp[key] = {};
temp[key][sameKey] = arr[i][sameKey];
for(var j=0;j<mergeKey.length; j++){
temp[key][mergeKey[j]] = arr[i][mergeKey[j]];
}
}
//不用合并的值
}
for (var k in temp) {
result.push(temp[k])
}
return result;
}
调用
//哪些值需要合并 var mergeKey = ["price0", "price1", "price2"] //调用 var results = someDataMerge(list, "year", mergeKey); //说明 //list数组 //year根key合并 //mergeKey需要合并相加的key //输出结果 console.log(results) //0: {year: 2021, price0: 12, price1: 0, price2: 22} //1: {year: 2022, price0: 24196.36, price1: 76294.56, price2: 121}
本文链接:http://so.lmcjl.com/news/8935/