2013-11-02 58 views
1

好的,這真的讓我變得瘋狂。我無法弄清楚,爲什麼我不斷收到uncaught typeError: cannot read property '0' of undefined無法讀取ARRAY中的undefined屬性'0'Javascript

可有人請點什麼在這個數組行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; 
    } 
} 
+1

你函數'ckeckinput'並不總是返回一個值。您的輸入不得與任一測試相匹配。 – kalley

+0

當然,'checkinput'函數中的兩個條件都是false,因此它沒有返回任何東西。 –

+0

我該如何正確調試這個問題? – bobbyjones

回答

0

這是因爲無論regexA.test(val)也不regexB.test(val)回報true造成uncaught error。嘗試添加else第一個錯誤:

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

我也幫不了你任何進一步的,因爲我不知道你的正則表達式變量的內容。但如果我是你,我會開始在那裏看。

相關問題