位置:首页 > JavaScript > JavaScript >

js清除两个数组相同数据(js两个数组对比 去除相同项得到新数组)

字号+ 作者:micloud 来源:www.seoalphas.com 2020-12-23 16:27 浏览量:5355

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 两个数组对比,去除相同项得到新数组


  1. var arr1 = [a, b, c,];
    var arr2 = [a, b, c, d];
    let list = arr2.filter(items => {
    if (!arr1.includes(items)) return items;
    })

    而上面的则是对字符串进行比较后去重



1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • js操作radio单选框改变事件 点击radio执行相应操作

    js操作radio单选框改变事件 点击radio执行相应操作

    浏览次数:14454

  • 关于layui富文本编辑器同步编辑器内容到textarea layedit.sync(index)

    关于layui富文本编辑器同步编辑器内容到textarea layedit.sync(index)

    浏览次数:12058

  • JavaScript中对url进行编码:urlencode编码

    JavaScript中对url进行编码:urlencode编码

    浏览次数:10805

  • 清除UC手机浏览器强制在页面中加入的关键词链接

    清除UC手机浏览器强制在页面中加入的关键词链接

    浏览次数:5107

网友点评
评论区域