好吧,这真的让我发疯了。 我不明白为什么我总是uncaught typeError: cannot read property '0' of undefined
有人可以指出导致此ARRAY行uncaught error
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));
}
我无法进一步帮助您,因为我不知道您的正则表达式变量的内容。但如果我是你,我会开始寻找那里。