试图检查某些变量是否包含事物,因为它们抛出错误并在没有时抛出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