【发布时间】:2015-03-02 16:42:15
【问题描述】:
这是数组数组:
[ 'markdown',
[ 'para', 'This is a ', [ 'em', 'test' ] ],
[ 'hr' ],
[ 'para', {class: 'noind'}, 'another test' ],
[ 'para', '"test with double quotes"' ],
我知道怎么匹配paras:
for (i = 1; i < jsonml.length; i++) {
if (jsonml[i][0] === 'para') {
// do stuff
}
}
现在我只想匹配带有双引号 ([ para, '"test with double quotes"' ]) 的 paras。
我试过了:
if (jsonml[i][0] === 'para' && jsonml[i][1].match(/"/g)) {
但我得到TypeError: Cannot call method 'match' of undefined。也许是因为[hr] 或[ 'para', {class: 'noind'}, 'another test' ]?如果是这样,我怎样才能使代码工作?
【问题讨论】:
-
您收到此错误是因为您的某些数组只有 1 个元素。
-
检查我的答案中的通用实用程序方法,它可以检测嵌套数组@alexchenco 中的双引号
标签: javascript arrays regex