两个数组的过滤

发布时间 2023-12-20 11:05:50作者: 奔跑的哈密瓜
    let a1 = [{rmName:'王五'},{rmName:'李四'},{rmName:'张三'},{rmName:'赵六'}];
    let b2 = [{name:'王五'},{name:'李四'}];
    // 结果:得到a1中除去b2中值的其他数据
    // 方法一:forEach
    let filterA1 = a1.filter(item=>{
        let flag = b2.findIndex(item_=>item_.name==item.rmName);
        return flag==-1?true:false
    }) 
    console.log(filterA1) //[{"rmName": "张三"},{"rmName": "赵六"}]
    // 方法二:every
    let filterA1 = a1.filter(item=>{
        return b2.every(item_=>{  //every若有一个不满足条件就会返回false
            return item_.name!=item.rmName
        })
    }) 
    console.log(filterA1) //[{"rmName": "张三"},{"rmName": "赵六"}]