VUE数组根据ID相同,对 value进行累加以及数组去重

本文探讨了JavaScript中如何使用数组操作技巧,包括对象属性的累加和数组去重,通过示例展示了`forEach`、`reduce`和`Set`等方法的应用。重点介绍了如何用`obj`结构存储并累加具有相同id的对象值,以及如何利用`reduce`和`Set`实现数组元素的高效去重。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组对象相同属性的相加

let obj = {};
const arr = [
	{ id: ‘aaa’, value: 11 },
	{ id: bbb, value: 21 },
	{ id: ‘aaa’, value: 111 },
	{ id: bbb, value: 222 },
	{ id: ccc, value: 22 },
	{ id: ddd, value: 122 },
	{ id: ccc, value: 22 },
	{ id: ddd, value: 122 },
	{ id: ccc, value: 22 },
	{ id: ddd, value: 122 },
];
// 第一种方式
arr.forEach(v => obj[v.id] = obj[v.id] === undefined ? v.value : obj[v.id] + v.value)
console.log(obj)
// 第二种方法
arr.forEach(v=>{
	if (obj.hasOwnProperty(v.id)) {
		obj[v.id] += v.value
	} else{
		obj [v.id] = v.value
	}
})
console.log(obj)


数组去重

//1 reduce去重,针对数组对象
let person = [
      {id: 0, name: "A"},
      {id: 1, name: "B"},
      {id: 2, name: "C"},
      {id: 3, name: "D"},
      {id: 1, name: "E"},
      {id: 2, name: "F"},   
 ];

 let obj = {};
 let peon = person.reduce((cur,next) => {
     obj[next.id] ? "" : obj[next.id] = true && cur.push(next);
     return cur;
 },[]) //设置cur默认类型为数组,并且初始值为空的数组
 console.log(peon);
 //2 Set去重,针对纯数组元素
 let arr = [1,2,2];
 console.log([...new Set(arr)]); // [1,2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值