关于javascript: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'

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理