我有一個obj和一個對象數組 - 像下面的東西(我沒有粘貼它,因爲它的巨大)。我試圖循環對象數組 - 從數組中刪除那些包含值的對象。我寫了下面的代碼...(使用lodash)JavaScript從數組中刪除所有包含值的對象
當在數組上循環時,它隨機缺少一些'Foo's - 所以不是所有的Foo對象都被刪除...即使它們包含關鍵Foo。它確實忽略了那個不包含Foo的東西。
obj = {
array : [
{
key1 : 'Foo',
Key2 : 'fi'
},
{
key1 : 'Foo',
Key2 : 'fi',
Key3 : 'blah'
},
{
key1 : 'Fred',
Key2 : 'fi'
},
{
key1 : 'Foo',
Key2 : 'fi'
}
... etc....
]
}
var items = obj.array
_.forEach(items, function(n, index) {
var isFoo = _.includes(n, 'Foo');
console.log(isFoo);
if (isFoo) {
items.splice(index, 1);
}
});
好像你想要[Array.prototype.filter]( https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) – Grundy