/***对象数组合并相同key的data
* 参数:1.待操作数组
2.参考key
3.待合并key */
mergeKeyArr(arr, key1, key2) {
arr = this.sortArr(arr, true, 1, key1)
let newArr = []
let tempValue = 0 // 临时存储数据
let curName = arr[0][key1]
// 合并相同curName的数据
arr.forEach((item, index) => {
if (item[key1] === curName) {
tempValue += item[key2]
} else {
let obj = {
...arr[index - 1]
}
obj[key2] = tempValue
newArr.push(obj)
curName = item[key1]
tempValue = item[key2]
}
})
let obj = {
...arr[arr.length - 1]
}
obj[key2] = tempValue
newArr.push(obj)
return newArr
}
JavaScript数组处理--合并相同key的data值
最新推荐文章于 2023-04-13 09:39:17 发布