js去掉两个数组相同的元素

文章展示了如何在JavaScript中利用some和filter方法从一个数组中移除另一个数组中存在的相同元素。示例包括数字数组以及包含对象的数组,通过map和includes方法处理对象属性进行比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过some在对方数组中查找相同的元素,在自身数组中通过filter去掉该元素

const arr1 = [1, 2, 3, 56]
const arr2 = [1, 2, 3, 780]
const res = arr2.filter(item1 => !arr1.some(item2 => item2 === item1))
console.log(res); // [780]

arr2 与 arr1相同的元素有 1,2,3 ,res的结果就是 780

const res2 = arr1.filter(item1 => !arr2.some(item2 => item2 === item1))
console.log(res2); // [56]

map+filter+includes

 let arr1 = [
   {id:1,name:'小明',age:18},
   {id:2,name:'小红',age:16},
   {id:4,name:'小紫',age:22},
   {id:5,name:'小绿',age:20},
 ]
let arr2 =[
   {id:2,sex:'女'},
   {id:5,sex:'男'},
 ]
 
let getId = arr2.map(item=>item.id)
let newArr2 = arr1.filter(item=>!getId.includes(item.id))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值