比较2个数组并删除项目

时间:2020-08-26 07:11:49

标签: javascript arrays vue.js array-splice

在Vue中,我有一个带有此data(TempId)的数组:

[{"id":47},{"id":45},{"id":48}]

第二个与此数组:

 multiprices: [
    {
        id: 45,
        name: "",
        price: "2600000",
    },
    {
        id: 46,
        name: "",
        price: "2600000",
    },
    {
        id: 47,
        name: "",
        price: "2600000",
    },
    {
        id: 48,
        name: "",
        price: "2600000",
    }
],

我想找到并删除第二个数组的项目,然后将其复制到新数据中(在本示例中为id 46)

1 个答案:

答案 0 :(得分:0)

您可以使用第一个数组的id列表中的element条件过滤第二个数组

const tempObj = [{ id: 47 }, { id: 45 }, { id: 48 }]
const tempId = tempObj.map(({ id }) => id)

const multiprices = [
  {
    id: 45,
    name: "",
    price: "2600000",
  },
  {
    id: 46,
    name: "",
    price: "2600000",
  },
  {
    id: 47,
    name: "",
    price: "2600000",
  },
  {
    id: 48,
    name: "",
    price: "2600000",
  },
]

const res = multiprices.filter((multiprice) => !tempId.includes(multiprice.id))

console.log(res)

相关问题