Javascript Vue JS如何基于数组值删除对象

Javascript Vue JS如何基于数组值删除对象,javascript,arrays,vue.js,ecmascript-6,vue-component,Javascript,Arrays,Vue.js,Ecmascript 6,Vue Component,我有一组对象,如: types: [ { id: 1, name: "Hello" }, { id: 2, name: "World" }, { id: 3, name: "Jon Doe" } ] 我还有一个简单的数组,如下所示: selected_types = [1, 2] 所需结果应过滤“类型”数组,并排除“选定类型”数组中存在的所有ID,如下所示: final_types: [ { id: 3, name: "Jon Doe" } ] 我完全不知道如何实现这一点,

我有一组对象,如:

types: [
{
 id: 1,
 name: "Hello"
},
{
 id: 2,
 name: "World"
},
{
 id: 3,
 name: "Jon Doe"
}
]
我还有一个简单的数组,如下所示:

selected_types = [1, 2]
所需结果应过滤“类型”数组,并排除“选定类型”数组中存在的所有ID,如下所示:

final_types: [
{
 id: 3,
 name: "Jon Doe"
}
]
我完全不知道如何实现这一点,但以下是我的尝试:

   this.types.filter(obj => {
        for (let i = 0; i < this.selected_types.length; i++) {
          if (obj.id !== selected_types[i]) {
            final_types.push(attribute);
          }
        }
      });
this.types.filter(obj=>{
for(设i=0;i
只需使用
this.types.filter({id})=>!this.selected_types.includes(id))

let类型=[{
id:1,
姓名:“你好”
},
{
id:2,
名称:“世界”
},
{
id:3,
姓名:“乔恩·多伊”
}
]
让选定的_类型=[1,2];
让resArr=types.filter({id})=>!selected_types.includes(id));

console.log(resArr)只需使用
this.types.filter({id})=>!this.selected_types.includes(id))

let类型=[{
id:1,
姓名:“你好”
},
{
id:2,
名称:“世界”
},
{
id:3,
姓名:“乔恩·多伊”
}
]
让选定的_类型=[1,2];
让resArr=types.filter({id})=>!selected_types.includes(id));

console.log(resArr)您可以实现Javascript的本机方法过滤器,它最终返回一个新对象

let types = [{
    id: 1,
    name: "Hello"
  },
  {
    id: 2,
    name: "World"
  },
  {
    id: 3,
    name: "Jon Doe"
  }
]

let selected_types = [1, 2];

types = types.filter(obj => {
  if (selected_types.indexOf(obj.id) === -1) {
     return obj
  }
});

您可以实现Javascript的本机方法过滤器,它最终返回一个新对象

let types = [{
    id: 1,
    name: "Hello"
  },
  {
    id: 2,
    name: "World"
  },
  {
    id: 3,
    name: "Jon Doe"
  }
]

let selected_types = [1, 2];

types = types.filter(obj => {
  if (selected_types.indexOf(obj.id) === -1) {
     return obj
  }
});

我不知道作者是否清楚。我建议添加
({id})
让id=obj.id
相同。不知道作者是否清楚。我建议添加
({id})
let id=obj.id
相同。