从对象数组中减去对象数组

菲尔克斯94

我知道已经发布了类似的问题,但它们似乎从未针对相同的问题。

我想itemsToRemove从第一个数组(allItems)中删除第二个数组()中包含的对象

allItems = [{x:1, y:2}, {x:1, y:1}, {x:4, y:1}]

itemsToRemove = [{x:1, y:2}]

result = [{x:1, y:1}, {x:4, y:1}]

我已经尝试了很多方法,但是在某种find()情况下它以某种方式失败了

      const result = allItems.filter((itemFromAllItems ) => {
                return !itemsToRemove.find( itemToRemove => {
                    return itemFromAllItems.x === itemToRemove.x && itemFromAllItems.y === itemToRemove.y
                })
            })
阿西克·保罗(Ashik Paul)

假设您的对象只有x和y值,这将起作用。

var allItems = [{x:1, y:2}, {x:1, y:1}, {x:4, y:1}]

var itemsToRemove = [{x:1, y:2}]

var result = allItems.filter(e => !itemsToRemove.some(s => s.x === e.x && s.y === e.y));

console.log(result);

希望这可以帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章