2010-10-29 2 views
0

Я работаю над действительно простой программой клеточных автоматов в JavaScript. Сейчас я просто хочу написать кучу случайных булевых значений в двумерный массив, а затем прочитать этот массив, который нужно каким-то образом манипулировать или отображать.Мне трудно заполнить двумерный массив со случайными булевыми значениями, а затем прочитать эти значения в JavaScript

var dimension = 5; 


var grid = new Array(); 


for (x = 0; x < dimension; x++) { 

     grid[x] = new Array(); 

} 


//populate grid 

for (i = 0; i < dimension; i++) { 

     document.write('<br>'); 
     for (j = 0; j < dimension; j++) { 
      grid[i,j] = Math.floor(Math.random()*2); 
      document.write(grid[i,j]); 
} 
} 

for (i = 0; i < dimension; i++) { 

      document.write('<br>'); 
        for (j = 0; j < dimension; j++) { 
        document.write(grid[i,j]); 
    } 
} 

Итак, я вырезал код вниз до нескольких вложенных циклов для где я перебирать и заполнить массив, а затем распечатать его обратно. Обратите внимание, что вывод, созданный во время цикла популяции, - это то, что я хочу, случайные значения. Но когда я прочитал массив назад, это похоже на последний ряд (я думаю, что это действительно столбец, но он отображается горизонтально) был скопирован ко всем остальным ...

Я делал это раньше на других языках и никогда не возникало таких проблем.

Я новичок в этом сообществе и JavaScript в целом, так что это может быть глупый квест, или я, возможно, не представил его с пользой. Я был бы очень признателен за любую помощь или совет относительно того, как я могу улучшить свой вопрос.

ответ

1

Индексы массивов в JavaScript не разделяются запятой. Вам нужно использовать скобки. Таким образом, для вашей двумерной матрицы это будет:

grid[i][j]; // not grid[i,j] 
Смежные вопросы