我知道已经发布了类似的问题,但它们似乎从未针对相同的问题。
我想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
})
})
假设您的对象只有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] 删除。
我来说两句