4 回答
TA贡献1951条经验 获得超3个赞
代码如下
var a = [
["03-12", "33.87"],
["03-15", "34.67"],
["03-18", "1.13"],
["03-18", "1.00"],
["03-18", "1.00"]
]
function getArr(arr){
let obj = {}
arr.map(item=>{
if(!obj[item[0]]){
obj[item[0]] = item[1]*1
}else{
obj[item[0]] += item[1]*1
}
})
let b = []
for(var i in obj){
b.push([i,`${obj[i]}`])
}
return b
}
console.log(getArr(a))
大致思路就是建一个对象,判断是否有这个属性,没有则给对象添加,有则相加。最后再变成数组。可能比较麻烦。
TA贡献1909条经验 获得超7个赞
const merge = arr =>
arr.reduce((acc, cur) => {
let hasCurTime = false
acc.forEach((v, i) => {
if (v[0] === cur[0]) {
v[1] = v[1] * 1 + cur[1] * 1
hasCurTime = true
}
})
!hasCurTime && acc.push(cur)
return acc
}, [])
添加回答
举报