【问题标题】:compare 2 array and remove items [duplicate]比较2个数组并删除项目[重复]
【发布时间】:2020-12-14 22:33:55
【问题描述】:

在 vue 中,我有一个包含此数据(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)

【问题讨论】:

    标签: javascript arrays vue.js array-splice


    【解决方案1】:

    您可以过滤第二个数组,条件是元素在第一个数组的 id 列表中

    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)

    【讨论】:

    • console.log(res) 返回 45,47,48 的数据我只需要 46 的倒数
    • const res = this.multiprices.filter((multiprice) => !tempId.includes(multiprice.id)) 这就是答案
    • 另一个问题是,这个 sn-p 在我的本地主机上工作得很好,但在服务器上却不行!这怎么可能?这是javascript!!!
    猜你喜欢
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 2012-08-21
    • 2015-05-19
    相关资源
    最近更新 更多