两个数组对比出满足条件的项

27 阅读1分钟

例:两个数组对比出减少的项目 c:3

let arr1 = [{id:1, a:1, b:2}, {id:2,a:3,b:4}]
let arr2 =[{id:1, a:1 , b:2}]
let arr = []
for(let i = 0; i< arr1.length; i++) {
    let isExist = false  // 打上标记 原先不存在
    let item1 = arr1[i] // 取出一项
    let itemId1 = item1.id
    for(let j = 0; j < arr2.length; j ++) {
        let item2 = arr2[j]
        let itemId2 = item2.id
        if(itemId1 === itemId2) {
            isExist = true // 遇到相同项 改变标记为已存在
            break
        }
        if(!isExist) { // 不存在则收集到新数组
            arr.push(item1)
        }
    }
}

arr即为arr1中不存在于arr2的项目组成的数组