Zastanawiam się, w jaki sposób chciałbym wdrożyć metodę w javascript, która usuwa wszystkie elementy tablicy, które czynią pewien warunek. (Najlepiej bez użycia jQuery)javascript - usuń element tablicy pod warunkiem
Przykł.
ar = [ 1, 2, 3, 4 ];
ar.removeIf(function(item, idx) {
return item > 3;
});
Powyższy by przejść każdej pozycji w tablicy i usunąć wszystkie te, które return true
dla stanu (na przykład pozycja> 3).
Właśnie zaczynam w javascript i zastanawiałem się, czy ktoś wie o krótkim, skutecznym sposobie wykonania tego.
- aktualizacja -
Byłoby to także wielki, jeśli warunek może pracować na właściwości obiektu, jak również.
Przykł.
ar = [ {num:1, str:"a"}, {num:2, str:"b"}, {num:3, str:"c"} ];
ar.removeIf(function(item, idx) {
return item.str == "c";
});
Jeżeli pozycja zostanie usunięta, jeśli item.str == "c"
- Update2 -
Byłoby miło, gdyby warunki indeks może pracować również.
Przykł.
ar = [ {num:1, str:"a"}, {num:2, str:"b"}, {num:3, str:"c"} ];
ar.removeIf(function(item, idx) {
return idx == 2;
});
http://jsfiddle.net/n8JEy/3/ To działa. – pickypg
Dzięki, działa świetnie. Podoba mi się, jak to bierze pod uwagę zmiany indeksu poprzez splicing w trakcie iteracji. – dk123
To trochę nieładne. Wypróbuj http://jsfiddle.net/n8JEy/4/ - i nie przekazałeś 'i' do wywołania zwrotnego jako drugiego parametru. – Ian