好吧,这真的让我抓狂。我不明白为什么我总是收到 uncaught typeError: Cannot read property '0' of undefined
有人可以指出是什么导致了此 ARRAY 行上的未捕获错误
num = myArray[0];
var val= this.value;
myArray = checkinput(val);
num = myArray[0];
data = myArray[1];
if (num == 0 ) {
....
} else {
....
}
/*FUNCTIONS*/
function checkinput(val) {
var val;
//some regex here
if (regexA.test(val)) {
var fname = val.match(regexA)[0];
var arr = [0,fname]; // 0 as identifier
return arr;
}
else if (regexB.test(val)) {
var lname = val.match(regexB)[0];
var arr= [1,lname]; // 1 as identifier
return arr;
}
}
最佳答案
这是因为 regexA.test(val)
和 regexB.test(val)
都不返回 true
。尝试添加一个带有错误的 else
子句:
...
} else {
console.log("error, test(val) invalid: " + test(val));
}
我无法进一步帮助您,因为我不知道您的正则表达式变量的内容。但如果我是你,我就会开始寻找那里。
关于javascript - 无法读取 ARRAY Javascript 中未定义的属性 '0',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19742897/