我有一个多维数组“questArray”,其索引仅从0到4开始。索引中的数据如下所示
questArray[0][0]['q_sec']=1
questArray[1][0]['q_sec']=2
questArray[2][0]['q_sec']=3
questArray[3][0]['q_sec']=4
questArray[4][0]['q_sec']=5
现在,我有一个迭代40次的for循环。现在 在这个for循环中我正在使用if块来检查a 具有上述数组的某些条件如下:
for(var secCnt=1;secCnt<=5;secCnt++){
for(var noCoun=0;noCoun<40;noCoun++){
if (secCnt == questArray[noCoun][0]['q_sec']){
//some code here
alert('1');
}
}
}
我的问题是,在内部循环中,当'noCoun'计数器的值大于4时,代码不起作用,因为没有索引大于4的'questArray'。我如何检查这个条件。< / p>
我尝试了以下内容:
if (typeOf questArray[noCoun][0]['q_sec'] !== undefined){
if (secCnt == questArray[noCoun][0]['q_sec']){
//some code here
alert('1');
}
}
if (typeOf questArray[noCoun][0]['q_sec'] !== 'undefined'){
if (secCnt == questArray[noCoun][0]['q_sec']){
//some code here
alert('1');
}
}
if (questArray[noCoun][0]['q_sec'] !== 'null'){
if (secCnt == questArray[noCoun][0]['q_sec']){
//some code here
alert('1');
}
}
if (questArray[noCoun][0]['q_sec'] !== ''){
if (secCnt == questArray[noCoun][0]['q_sec']){
//some code here
alert('1');
}
}
但上面的代码都没有。希望你理解我的问题。请帮忙。谢谢你提前
答案 0 :(得分:0)
这就是我要做的,
for(var secCnt=1;secCnt<=5;secCnt++){
for(var noCoun=0;noCoun<40;noCoun++){
if (questArray[noCoun] && secCnt == questArray[noCoun][0]['q_sec']){
//some code here
console.log('1');
}
}
}
基本上questArray[noCoun]
检查它是否存在,然后检查下一个条件,否则短路......
编辑:
要非常安全,你也可以
if (questArray && questArray[noCoun] && questArray[noCoun][0] && secCnt == questArray[noCoun][0]['q_sec']){
答案 1 :(得分:0)
for(var secCnt=1;secCnt<=5;secCnt++){
for(var noCoun=0;noCoun<40;noCoun++){
if (noCoun < questArray.length && secCnt == questArray[noCoun][0]['q_sec']){
//some code here
alert('1');
}
}
}