【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
第一种方案:
var arr = [1,1,4,2,4,5,6,7];
var newArr = new Set(arr);
console.log(newArr);
但是如果是对象就傻眼了。
function unique(arr){
let unique = {};
arr.forEach(function(item){
unique[JSON.stringify(item)]=item;//键名不会重复
})
arr = Object.keys(unique).map(function(u){
//Object.keys()返回对象的所有键值组成的数组,map方法是一个遍历方法,返回遍历结果组成的数组.将unique对象的键名还原成对象数组
return JSON.parse(u);
})
return arr;
}
var a = [{a:'1',b:'2'},{a:'3',b:'4'},{a:'5',b:'6'}];
//a = a.filter(item=>item.a='sss');
//console.log(a)
var b = [{a:'1',b:'2'},{a:'5',b:'6'},{a:'7',b:'8'}];
var c = [...a,...b];
console.log(unique(c));
结果:
[ { a: '1', b: '2' },
{ a: '3', b: '4' },
{ a: '5', b: '6' },
{ a: '7', b: '8' } ]
来源:oschina
链接:https://my.oschina.net/u/2436852/blog/3155180