首页 > 解决方案 > 过滤 JavaScript 数组中大于零的元素

问题描述

我有一个“2D”-JavaScript 数组,保存这些数据:

let arr = [
    ["w",0],
    ["x",1],
    ["y",0],
    ["z",2]
]

我想删除第二项包含 0 的所有行,以便生成的数组如下所示:

arr = [
    ["x",1],
    ["z",2]
]

有什么优雅的想法吗?

标签: javascriptarrays

解决方案


使用可以检查内部数组在第二个位置Array.filter()不包含元素值的地方:0item[1] !== 0

let arr = [
    ["w",0],
    ["x",1],
    ["y",0],
    ["z",2]
];
var res = arr.filter(item => item[1] !== 0);
console.log(res);

使用filter()您可以循环遍历数组的每个元素并将该元素传递给回调函数,然后根据条件返回相同/修改的元素。所以,item是数组的元素,它被传递给回调函数。因为,我们在回调中只有一行代码,我们可以用该回调函数替换该回调函数,item[1] !== 0并且在满足条件时默认返回。


推荐阅读