Мне было интересно, как я буду реализовывать метод в javascript, который удаляет все элементы массива, которые устраняют определенное условие. (Желательно без использования jQuery)
Исх.
ar = [ 1, 2, 3, 4 ];
ar.removeIf( function(item, idx) {
return item > 3;
});
Вышеупомянутый будет проходить через каждый элемент массива и удалять все те, что return true
для условия (в примере, элемент > 3).
Я только начинаю работать в javascript и задаюсь вопросом, знает ли кто-нибудь о коротком эффективном способе сделать это.
- Обновление -
Было бы здорово, если бы условие могло работать и с объектными свойствами.
Исх.
ar = [ {num:1, str:"a"}, {num:2, str:"b"}, {num:3, str:"c"} ];
ar.removeIf( function(item, idx) {
return item.str == "c";
});
Если элемент будет удален, если item.str == "c"
- Update2 -
Было бы неплохо, если бы условия индекса могли работать.
Исх.
ar = [ {num:1, str:"a"}, {num:2, str:"b"}, {num:3, str:"c"} ];
ar.removeIf( function(item, idx) {
return idx == 2;
});