<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
let arr = [
{type:'apple',money:10},
{type:'apple',money:10},
{type:'banana',money:10},
{type:'orange',money:10},
{type:'orange',money:10},
{type:'apple',money:10},
]
// 需要的数据
// [
// {type: 'apple', money: 30},
// {type: 'banana', money: 10},
// {type: 'orange', money: 20}
// ]
var nameArr = [...new Set(arr.map(i => i.type))];//名称集合
let list=[];
nameArr.forEach(v=>{
let filterlist = arr.filter(a=>v==a.type);
list.push(filterlist)
});
let outArr=[];
list.forEach((item,index)=>{
let moneyAdd = item.reduce((total, g)=> {
return total + Number(g.money)
}, 0);
outArr.push({
type:nameArr[index],
money:moneyAdd
})
})
console.log('outArr',outArr)
</script>
</body>
</html>
js 数组中相同类型的数据合并,并把相应的数据相加
猜你喜欢
转载自blog.csdn.net/QQ_Empire/article/details/126032548
今日推荐
周排行