javascript - 在循环中过滤掉另一个数组中的对象

标签 javascript arrays

我有一个 allItems 对象数组

allItems = [
    { id: 1, name: 'item1' },
    { id: 2, name: 'item2' },
    { id: 3, name: 'item3' }
]

我希望它过滤掉而不包含我的组件中另一个数组中包含的对象。

fewItems = [
    { id: 2, name: 'item2' }
]

所以,filteredItems 应该是:

filteredItems = [
    { id: 1, name: 'item1' },
    { id: 3, name: 'item3' }
]

allItems 中的另一个对象添加到 fewItems 时,它需要从 filteredItems 对象中消失。

我想在纯普通 JS 中执行此操作,无需特定的库。

谢谢!

最佳答案

filteredItems =  this.allItems.filter(x => {
    return !this.fewItems.some(y => JSON.stringify(y) == JSON.stringify(x))
});

关于javascript - 在循环中过滤掉另一个数组中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46894891/

相关文章:

javascript - 阻止由 Chrome 扩展中的 onBeforeNavigate 事件指示的导航,但不阻止非导航请求

javascript - 页面重定向

python - numpy 数组 : replace nan values with average of columns

javascript - 如何按特定金额拆分数字

JavaScript 对象。更改数组中对象的键名

javascript - 使用 javascript ping Web 应用程序以保持 session 打开

javascript - Materialize css 触发器在 Vue js 中不起作用

javascript - 使用 CSS 3D 变换从 DOM 对象接收变换后的鼠标事件数据

PHP - 尝试创建一个复选框数组,

c++ - 创建排行榜,需要帮助将总分数组与 "player"数组配对