2013-03-09 4 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

+0

Вы всегда хотите 4 оповещения на массив с пустыми ящиками, когда ответы «не существуют»? Было бы проще просто перебирать те, которые существуют? –

+0

Но откуда узнать, сколько их не существует? – panthro

ответ

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

+0

Нет, все еще не работает, он находится во внутреннем массиве, я зацикливаю 4 ответа, иногда говорю, номер 4 не существует, в этом случае я хочу предупредить («нет» – panthro

+0

Он все еще не работает, проблема в этой строке, если (! ответы [n] [i]) {сценарий останавливается, потому что нет ничего в массиве – panthro