1

好吧,这真的让我疯了。我不知道为什么我一直在uncaught typeError: cannot read property '0' of undefined

有人可以指出导致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;
    }
}
4

1 回答 1

0

这是因为既不regexA.test(val)也不regexB.test(val)返回true。尝试添加一个else有错误的子句:

...
} else {
    console.log("error, test(val) invalid: " + test(val));
}

由于我不知道您的正则表达式变量的内容,因此我无法为您提供任何进一步的帮助。但如果我是你,我会开始寻找那里。

于 2013-11-02T14:29:39.063 回答