JavaScript js清除兩個數組相同數據(js兩個數組對比 去除相同項得到新數組)


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

而上面的則是對字符串進行比較后去重

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM