Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.06.2009, 18:38
Интересующийся
Отправить личное сообщение для RRRinat Посмотреть профиль Найти все сообщения от RRRinat
 
Регистрация: 23.05.2009
Сообщений: 20

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

т.е:
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, однако результат получается такой же.
Что не так? В чем косяк?
Ответить с цитированием
  #2 (permalink)  
Старый 20.06.2009, 19:21
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Не могло так получится и нумерация элементов массива начинается с нуля:

var table = [
	[0, 0, 0, 0, 0],
	[0, 0, 0, 0, 0],
	[0, 0, 0, 0, 0],
	[0, 0, 0, 0, 0]
];

table[2][0] = 1;

alert(table.join("\n"));


Ваша ситуация могла произойти только в подобном случае:

var array = [0, 0, 0, 0, 0];
var table = [array, array, array, array];

table[2][0] = 1;

alert(table.join("\n"));

потому что массив, как объект, передается по ссылке, а не копируется.

Последний раз редактировалось Octane, 20.06.2009 в 19:35.
Ответить с цитированием
  #3 (permalink)  
Старый 20.06.2009, 23:10
Интересующийся
Отправить личное сообщение для RRRinat Посмотреть профиль Найти все сообщения от RRRinat
 
Регистрация: 23.05.2009
Сообщений: 20

Octane:
Спасибо, проблема проблема оказалась выше в коде как ты предсказал массив создавался вот таким:
Цитата:
var table = [array, array, array, array];
Сейчас все исправил, работает.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с сабмит mapt Events/DOM/Window 1 15.06.2009 13:45
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47
проблема с обработкой DIV nerik AJAX и COMET 2 22.08.2008 17:40
Проблема с маркером kostian02 Общие вопросы Javascript 0 23.06.2008 16:10
проблема с передачей русского текста в Prototype subaru Prototype & script.aculo.us 2 26.07.2007 16:56