javascript - 在 JS 中过滤二维数组
问题描述
我有一个包含 x, y 坐标的简单二维数组,如下所示:
var c = [
[1,10]
[2,11]
[3,12]
[4,13]
[5,15]
];
如何仅提取满足两个条件的对(一个用于 x,一个用于 y)并将它们放入自己的数组中?例如:
for Each of c {
if (x > 3 && y > 13) {
push.NewArray
}
}
这里是 JS 的新手,在网上找不到这个。提前感谢您的帮助。
解决方案
使用过滤器而不是推送,如下所示:
const filtered = c.filter(([x, y]) => x > 3 && y > 13);
var c = [
[1, 10],
[2, 11],
[3, 12],
[4, 13],
[5, 15]
];
const filtered = c.filter(([x, y]) => x > 3 && y > 13);
console.log(filtered);
您也需要逗号来分隔数组项。
那里的解构相当于:
const filtered = c.filter((arr) => arr[0] > 3 && arr[1] > 13);
推荐阅读
- csv - Tableau 未导出 CSV 中的所有行
- vba - 查找间接依赖于 activecell (VBA) 的单元格
- express - express.js 中的后端服务出错
- javascript - classList.toggle 仅部分有效
- java - 我可以使用多个线程在一个面板上同时使用 Java Graphics2D 绘图吗?
- python - 使用 Python SciKit 进行随机森林回归 在具有多个通道的时间序列列表中学习
- javascript - 将会话存储值更改为未定义应该会影响 ngIf 而无需单击两次
- jquery - 将 Prev 和 Next 按钮调整到表格的角落
- javascript - 使用 Leaflet.TimeDimension 插件时如何在可点击的弹出窗口中显示 GPX 轨道名称(和/或描述)
- angular - rxjs Observable 导入问题