javascript - Vue JS 如何根据数组值删除对象

标签 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]

期望的结果应该过滤"types" 数组并排除所有存在于"selected_types" 数组中的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(({id}) => !this.selected_types.includes(id)):

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

let selected_types = [1, 2];
let resArr = types.filter(({id}) => !selected_types.includes(id));
console.log(resArr);

关于javascript - Vue JS 如何根据数组值删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58113102/

相关文章:

javascript - 将 jquery-script 与 waypoints JS 连接

javascript - 当我的数组中只有 1 个对象时,控制台显示 4 个对象的信息

javascript - Webpack 在 bundle 中包含自己的依赖项

vue.js - 为什么更新后不能在 vue.js 上运行?

javascript - Nodejs循环遍历字符串并以自动递增长度保存到mongodb中

javascript - 我们可以使用 jquery 填充 Gmail 文本字段吗?

javascript - 使用 React 从列表中删除元素

javascript - 从 Javascript 中的函数创建关联数组

将字符缓冲区连接成字符串

javascript - "Cannot find module jquery"在 Electron 应用中