javascript - 检查对象是否可迭代
问题描述
const [, segment1, segment2] = "string".match(/([^/]+)\/(.*)/);
返回对象 null 不可迭代(无法读取属性 Symbol(Symbol.iterator))
const [, segment1, segment2] = "name/lastname".match(/([^/]+)\/(.*)/);
console.log(segment1, segment2)
如何检查是否可迭代?或检查segment1 和segment2 是否都不是空/未定义?
解决方案
您需要将结果分配给match
变量,以便在尝试使用捕获组之前测试匹配是否成功。
const match = "string".match(/([^/]+)\/(.*)/);
if (match) {
const [, segment1, segment2] = match;
console.log(segment1, segment2);
}
推荐阅读
- google-chrome-extension - 检测用户何时关注浏览器地址栏
- python - 为列表中的每个系列创建单独的数据框
- android - Android Studio 在所有视图上显示错误
- javascript - 如何在单个绘制调用中渲染多个蒙皮网格?(三个J)
- position - 如何在 Yandex 地图中将所选点定位在地图顶部
- security - 在数据库泄露的情况下保护多个用户身份的匿名性
- java - 运行 java servlet 时获取 java.lang.ClassNotFoundException
- chart.js - chart.js 时间序列多轴案例
- python - 为什么在安装 pyxll 时出现此错误?
- python - 为“cudf”做“diff”的最有效方法是什么