删除数组中重复的元素(JSON)

本文介绍使用JavaScript实现数组去重的方法,并演示了如何在去重过程中将重复项的特定字段值进行合并。通过两个实例,分别展示了基础数组元素去重及复杂对象类型中指定字段的合并操作。

先上一个基础的:

var a = [1,2,3,3,4];
var b = [];
for (var i = 0; i < a.length; ++i) {
	if (b.indexOf(a[i]) == -1) {
		b.push(a[i]);
	}
}
console.log(b);//[1,2,3]

  

 

有两种方法,第一种是出现重复则删除:

 


var arr = [{
"Type": "第一种型号",
"ERP": 5033701,
"count": 3
}, {
"Type": "第二种型号",
"ERP": 666666,
"count": 3
},{
"Type": "第二种型号",
"ERP": 666666,
"count": 3
}]


var
sum = arr.length; for (var i = 0; i < sum; ++i) { for (var j = 0; j < sum; ++j) {
//要注意,不能自己跟自己比
if (i != j) { if (arr[i].Type.indexOf(arr[j].Type) != -1) { arr[i].count = Number(arr[i].count) + Number(arr[j].count);这是博主自己遇到的情况,去重
时,去的是同一个字段名,但是值要保留下来并相加,赋给最后剩下的唯一字段,Number()方法:把对象的值转换为数字 arr.splice(j,
1); sum--; } } } }

 

转载于:https://www.cnblogs.com/yourstars/p/6071292.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值