我们先来定义一个拥有重复数据的json数组
var arr = [{
id: '1',
name: '小明'
}, {
id: '2',
name: '小昭'
}, {
id: '2',
name: '小昭'
}, {
id: '3',
name: '小美'
}, {
id: '3',
name: '小美'
}];
可以看到 我们这 二三条是重复的 id都为2 四五条又是重复的 id都为3
那么 我们写一个方法来过滤掉重复的数据
function filterArray(ArrObj){
var obj = {};
ArrObj = ArrObj.reduce(function (item, next) {
obj[next.id] ? '' : obj[next.id] = true && item.push(next);
return item;
}, []);
return ArrObj
}
然后我们来调用这个方法
console.log(filterArray(arr))
运行结果如下
此时我们就完成了重复数据的过滤
或者是在添加时 判断如果有重复的就不添加了 写一个函数演示
function filterArray(ArrObj){
var obj = [];
ArrObj.map(item =>{
if (!obj.some(e => e.id == item.id)) {
obj.push(item);
}
})
return obj
}
然后调用函数
console.log(filterArray(arr));
也没有任何问题