js 如何比对数组中的不同值

234 阅读1分钟

如何在两个数组中找出不同值?

        let oldArr = [{ id: 1},{ id: 2},{ id: 3}]
        let newArr = [ { id:1 }, { id:3 }, { id: 4}]
        let newoldArr = oldArr.map(ele => ele.id)
        const result = newArr.filter(ele => newoldArr.includes(ele.id))
        console.log(result);  // 输出结果[{id:1},{id:3}]
        

思路:
1.先将原数组map遍历返回新数组[1,2,3]
2.通过filter方法 includes查找数组里是否有相同id的数组
3.最后filter方法返回的是个新数组[{id:1},{id:3}]