第一種方案:javascript
var arr = [1,1,4,2,4,5,6,7];java
var newArr = new Set(arr);數組
console.log(newArr);code
可是若是是對象就傻眼了。對象
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));
結果:ip
[ { a: '1', b: '2' }, { a: '3', b: '4' }, { a: '5', b: '6' }, { a: '7', b: '8' } ]