JavaScript js清除兩個陣列相同資料(js兩個陣列對比 去除相同項得到新陣列)
阿新 • • 發佈:2022-04-08
js兩個陣列中去重應用還是比較廣泛的,正常想法就是使用for迴圈進行遍歷,這也是第一時間能夠想到的,但是往往想到這個方法的時候,也都會考慮一下有沒有更優的解決方案,那使用filter就顯得效率很高了。
js 刪除兩個陣列中id相同的物件
let arr1 = [{id:'1',name:'json'},{id:'2',name:'book'} ] let arr2 = [{id:'1',name:'json',age:'15'},{id:'2',name:'book',age:'16'},{id:'3',name:'ani',age:'17'}] //ES6的方法 let add = arr2.filter(item => !arr1.some(ele=>ele.id===item.id)); cosnole.log(add);//ES5的方法 for (var i=0; i<arr2.length; i++) { for (var j=0; j<arr1.length; j++) { if (arr2[i].id == arr1[j].id) { arr2.splice(i, 1); } } }
注意上面刪除的依據是陣列中id欄位,這個
js 兩個陣列對比,去除相同項得到新陣列
var arr1 = [a, b, c,]; var arr2 = [a, b, c, d]; let list= arr2.filter(items => { if (!arr1.includes(items)) return items; })