数组的筛选

1 找到数组中的对应的项

有以下两种数据:

let arr1 = [1,2]
let arr2 = [
   {
      id:1,
      name:'张一'
   },
   {
      id:2,
      name:'张二'
   },
   {
      id:3,
      name:'张三'
   },
   {
      id:4,
      name:'张四'
   }
]

要求从爱arr2中筛选中对应的arr1里边id的数据,下面写一个方法

function myFilter(arr1,arr2){
    return  arr1.filter((ele) => 
        arr2.filter((x) => x === ele.id).length > 0
    );
}
var arr3 = myFilter(arr1,arr2)

 

2 只要数组中需要的项,不要的去掉

有下面两个数组

let arr1 = [
   {
      id:1,
      name:'张一'
   },
   {
      id:2,
      name:'张二'
   }
]
let arr2 = [
   {
      id:1,
      name:'张一'
   },
   {
      id:2,
      name:'张二'
   },
   {
      id:3,
      name:'张三'
   },
   {
      id:4,
      name:'张四'
   }
]

要求把arr2中和arr1重复的部分去掉,下面写一个方法

var arr3 = arr2.filter((item) => !arr1.includes(item.id));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值