javascript - 根据条件删除数组元素

标签 javascript

我想知道我将如何在 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/

相关文章:

javascript - Div 内带有 Link 的 VueJS Button 也会触发 href 链接

javascript - 如何在我的案例中创建显示和隐藏元素?

javascript - 刷新 Node.js 页面

javascript - 过滤自定义 HTML 列表

javascript - 使用 jquery 向上或向下滑动整个 HTML 表格,不起作用

javascript - 参数可以用于创建新的对象键并作为同一函数中的变量吗?

javascript - 在 jquery UI 中检测单选/复选框 'checked' 状态。底层按钮不更新

javascript - 添加自定义 javascript 到 wix

javascript - React js 我应该如何处理在调用 componentDidMount() 之前使用的对象?

javascript - 第一次在 iPad 上点击按钮不起作用