我有一个“ 2D” JavaScript数组,其中包含以下数据:
String
我想删除第二行所有包含0的行,以使结果数组如下所示:
let arr = [
["w",0],
["x",1],
["y",0],
["z",2]
]
有什么高雅的想法吗?
答案 0 :(得分:1)
使用Array.filter()
,其中您可以检查内部数组在0
的第二位置上是否不包含元素值item[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
替换该回调函数,并且在满足条件时默认情况下也会返回。
答案 1 :(得分:0)
具有Array.prorotype.filter
和数组解构分配的解决方案:
let arr = [
["w",0],
["x",1],
["y",0],
["z",2]
]
const filtered = arr.filter(([_,a]) => a > 0);
console.log(filtered);