2013-03-09 38 views
-1

我有一个多维数组的答案,可以有2,3或4个答案。当某些元素为空时,循环访问数组?

answers[0]{'Answer A', 'Answer B', 'Answer C', 'Answer D'} 
answers[1]{'Answer A', 'Answer B'} 
answers[2]{'Answer A', 'Answer B', 'Answer C'} 

我想遍历每个如果答案存在显示答案,如果犯规存在,那么答案我想说明一个空白框。

for (var i = 0, len = 4; i < len; i++) { 

    alert(answers[n][i]);    

} 

如何在上述循环中检查答案是否存在于数组中,然后对其进行操作?

+0

您的代码无效。请澄清你想要做的事情。 – Dave 2013-03-09 00:05:19

+0

当答案“不存在”时,您总是希望每个数组有4个警报,并带有空框?只是迭代那些存在的东西会不会更容易? – 2013-03-09 00:06:16

+0

但是,我怎么知道有多少不存在? – panthro 2013-03-09 00:06:47

回答

0
if (answers[n][i]) { 
//do something 
} 
0

工作实例:http://jsfiddle.net/NXtyh/1/

如果我理解正确的话,你要遍历数组内的4倍,无论它的实际大小。

var n,i; 
var maxLength = 4; 

for (n = 0; n < answers.length; n++){ 
    if (!answers[n]) answers[n] = []; 
    for (i = 0; i < maxLength ; i++) { 

     if (!answers[n][i]) { 
      alert("Answer [" + n + "," + i + "] is empty"); 
     } else { 
      //console.log ("Answer [" + n + "," + i + "] is " + answers[n][i]); 
     } 
    } 
} 
+0

几乎可以工作,但数组元素实际上是空的错误 – panthro 2013-03-09 00:19:39

+0

不,仍然没有工作,它在内部数组中,我循环了4个答案,有时候说是4号不存在,在这种情况下,我想警惕('不存在' – panthro 2013-03-09 00:25:46

+0

它仍然无法正常工作,问题是这条线如果(!answers [n] [i]){当没有任何东西时脚本停止发生此行在数组中 – panthro 2013-03-09 10:29:41