【发布时间】:2015-04-26 21:21:06
【问题描述】:
我有一个多维数组“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 块来检查 上述数组的某些条件如下:
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”。我如何检查这种情况。
我尝试了以下方法:
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');
}
}
但是上面的代码都不起作用。希望你能理解我的问题。请帮助。提前致谢
【问题讨论】:
-
为什么不使用数组的
.length属性呢? -
typeOf不正确。它应该是typeof(没有大写字母)。 (MDN article on typeof) -
你试过
if (questArray[noCoun] && secCnt == questArray[noCoun][0]['q_sec']) -
Zerkms 感谢 relpy.for 测试目的,当我使用 alert(questArray[5][0]['q_sec'].length);没有显示警报消息。但是当我使用 alert(questArray[4][0]['q_sec'].length); 时,会生成警报消息
-
mido22 当我使用 alert(typeof questArray[4][0]['q_sec']);它说“字符串”,但是当我使用 alert(typeof questArray[5][0]['q_sec']);没有提示信息
标签: javascript arrays multidimensional-array jagged-arrays