js新旧对象数组对比,如果两个数组有相等的值id,则把新数组对应的id的某一项过滤出来

    // 上一次的数据,旧数组
    var oldArray = [
      { id: '1', name: 'zhangsan', age: '15' },
      { id: '2', name: 'lisi', age: '16' },
      { id: '3', name: 'ani', age: '17' },
    ]
    // 刚刚返回的新数组
    var newArray = [
      { id: '1', name: 'zhangsan', age: '100' },
      { id: '2', name: 'lisi' },
    ]

    // 将旧数组过滤出符合条件的数据id集合
    const idsArray = oldArray.filter((item) => {
      return item.id !== '1'
    }).map((item) => {
      return item.id
    });

    console.log(idsArray, 'idsArray');
    // ['2', '3'] 'idsArray'




    const productList = newArray.filter((item) => {
      return idsArray.includes(item.id)
    })
    console.log(productList, 'productList')
    // [{id: '2', name: 'lisi'}] 'productList'

你可能感兴趣的:(js新旧对象数组对比,如果两个数组有相等的值id,则把新数组对应的id的某一项过滤出来)