首页 > 解决方案 > 检查对象是否可迭代

问题描述

const [, segment1, segment2] = "string".match(/([^/]+)\/(.*)/);

返回对象 null 不可迭代(无法读取属性 Symbol(Symbol.iterator))

const [, segment1, segment2] = "name/lastname".match(/([^/]+)\/(.*)/);
console.log(segment1, segment2)

如何检查是否可迭代?或检查segment1 和segment2 是否都不是空/未定义?

标签: javascript

解决方案


您需要将结果分配给match变量,以便在尝试使用捕获组之前测试匹配是否成功。

const match = "string".match(/([^/]+)\/(.*)/);
if (match) {
    const [, segment1, segment2] = match;
    console.log(segment1, segment2);
}

推荐阅读