我想知道我将如何在 javascript 中实现一个方法,该方法删除数组中清除特定条件的所有元素。 (最好不使用 jQuery)
例如
ar = [ 1, 2, 3, 4 ];
ar.removeIf( function(item, idx) {
return item > 3;
});
上面的代码将遍历数组中的每个项目,并删除所有为条件返回 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"
--更新2--
如果索引条件也能工作就好了。
例如
ar = [ {num:1, str:"a"}, {num:2, str:"b"}, {num:3, str:"c"} ];
ar.removeIf( function(item, idx) {
return idx == 2;
});
最佳答案
您可以使用 Array filter method .
代码看起来像这样:
ar = [1, 2, 3, 4];
ar = ar.filter(item => !(item > 3));
console.log(ar) // [1, 2, 3]
关于javascript - 根据条件删除数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15995963/