您的位置:首页 > Web前端 > JavaScript

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

2016-11-16 20:00 176 查看
先上一个基础的:

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--;

}
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: