Я пытаюсь удалить элементы из списка, если выполнено условие.Как удалить элемент в цикле forEach, не останавливая траверс
var my_list = [
{ 'a': 1, 'b': 2 },
{ 'a': 3, 'b': 4 }
];
my_list.forEach(function (item){
if (item.a == '1') {
// Side note : I'm using Lodash to remove the item
_.pull(my_list, item);
}
});
// The above forEach runs once, instead of twice.
Проблема заключается в том, что когда я удалить элемент из списка, цикл Foreach
пропускает 1 шаг и не пересекать другие элементы (Очевидно, потому что я мутирует исходный массив).
Моя цель - получить список как исходный массив, но исключая все удаленные элементы.
Как я должен это решить?
Nice one ..! Не уверен, почему я не думал об этом. Чистый и простой – xperator