javascript - 过滤 JavaScript 数组中大于零的元素
问题描述
我有一个“2D”-JavaScript 数组,保存这些数据:
let arr = [
["w",0],
["x",1],
["y",0],
["z",2]
]
我想删除第二项包含 0 的所有行,以便生成的数组如下所示:
arr = [
["x",1],
["z",2]
]
有什么优雅的想法吗?
解决方案
使用可以检查内部数组在第二个位置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
并且在满足条件时默认返回。
推荐阅读
- javascript - 从子组件获取数据时如何更新父组件视图?
- ethereum - 使用 Remix 与已部署的合约与 ABI 交互
- sql - 如何查询 AWS Athena 中的结构列数组?(镶木地板格式)
- c# - 如何在c#中将会话对象的类型转换为类对象
- swift - 从一处将字体更改为整个 SwiftUI 项目
- javascript - 在 Handlebars 中的其他对象的循环内显示不同的 JSON 对象以获取条件
- javascript - 当我分离轨道时,twilio 视频代码留下了视频标签
- c++ - 返回模板 lambda 函数的正确方法是什么?
- powershell - 批处理文件错误:“字符串缺少终止符:'。”对于 Powershell Cmd
- vim - Vim:在插入模式下重新映射 Ctrl-W 使其行为与在正常模式下一样