Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Проблема с двумерными массивами


Автор: RinatR 20.6.2009, 18:26
Здраствуйте. помогите пожалуйста решить новичку одну проблему.
Есть определенный массив. А в массиве еще один массив.

т.е:
table[0] = new Array(0, 0, 0, 0, 0 ... );
table[1] = new Array(0, 0, 0, 0, 0 ...);
table[2] = new Array(0, 0, 0, 0, 0 ... );
table[3] = new Array(0, 0, 0, 0, 0 ... );
...
Я пытаюсь поменять только значение внутреннего массива следующим способом
table[2][1] = 1;

Должно получится вот так:

0 0 0 0 0
0 0 0 0 0
1 0 0 0 0
0 0 0 0 0
Однако в результате получаю вот это.
1 0 0 0 0
1 0 0 0 0
1 0 0 0 0
1 0 0 0 0

Пробовал также изменять значения с помощью функции splice, однако результат получается такой же.
Что не так? В чем косяк?

Автор: bars80080 20.6.2009, 18:35
а если массивы объявлять так:

Код

table[0] = [0, 0, 0, 0, 0 ... ];
table[1] = [0, 0, 0, 0, 0 ...];
table[2] = [0, 0, 0, 0, 0 ... ];
table[3] = [0, 0, 0, 0, 0 ... ];


, то table[2][1] = 1; прокатит?



п.с. надеюсь в начале стоит var table = new Array(); ?

Автор: RinatR 20.6.2009, 22:30
Ага, прокатит, как и в примере котоом я привел. 
Проблема в другом оказывается была, но я зациклился на том, что что-то не так именно на этом участке кода.

Но все равно спасибо за помощь smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)