試圖檢查某些變量是否包含事物,因爲它們拋出錯誤並在沒有時拋出ajax函數。問題是,只是檢查是否data[2][0]
含有一種會導致以下錯誤:檢查未定義的原因未定義的錯誤
Uncaught TypeError: Cannot read property '0' of undefined
我倒是非常不喜歡在前一階段進行檢查。我如何檢查是否定義了data[2][0]
,而不會導致實際檢查破壞我的js?
代碼:
//ajax^
success: function(data){
var xp = data[0][0]; //Contains a string
var yp = data[1][0]; //Contains a string
var zp = data[2][0]; //Is not set, fails here
if(xp === ''){ //Tried using null & undefined here aswell
//Do nothing
} else {
var one = data[0][0];
var oneH = data[0][1];
var oneS = data[0][2];
}
if(yp === ''){
//Do nothing
} else {
var two = data[1][0];
var twoH = data[1][1];
var twoS = data[1][2];
}
if(zp === ''){
//Do nothing
} else {
var three = data[2][0];
var threeH = data[2][1];
var threeS = data[2][2];
}
//ajax continues v
任何幫助將非常感激。
_Uncaught類型錯誤的數組:不能讀取undefined_的屬性'0'意味着data [2]沒有被定義,甚至可能沒有定義'data'。 – putvande
@putvande是的,我知道它沒有定義。 'data [0]'和'data [1]'都被定義,它們每個都包含一個鏈接。這是當他們未定義的網站中斷,這就是爲什麼我需要檢查之前,他們是否使用它們 –
你可以做'var zp = data [2] && data [2] [0] || null;' – putvande