Removes all objects from the list at path
that satisfy test
.
TODO(jakemac): Optimize by removing whole ranges?
Source
void removeWhere(String path, bool test(element)) {
var list = get(path);
var indexesToRemove = [];
for (int i = 0; i < list.length; i++) {
if (test(list[i])) indexesToRemove.add(i);
}
for (int index in indexesToRemove.reversed) {
removeAt(path, index);
}
}