|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jan 2012
Сообщений: 3
|
Изменение элемента двумерного массива
Создаю в Action Script двумерный массив Arr, заполняю его числовыми данными. Затем мне требуется менять эти данные. Пробую сделать это командой Arr[1][1] = 5, в результате все значения второго столбца, а не только второй ячейки меняются на 5. Что я делаю неправильно, и как менять значения в двумерном массиве?
|
|
|||||
Lorem ipsum
|
Покажи, как создаешь и заполняешь двумерный массив.
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Jan 2012
Сообщений: 3
|
Я создала специальную программу для проверки, чтобы избежать влияния посторонних ошибок. Происходит то же самое.
Создание и заполнение массива следующее: var Arr:Array = new Array(); var Arr2:Array = new Array(); for (var i:Number=0; i<5; i++) { for (var j:Number=0; j<5; j++) { Arr[j] = 5; } Arr2[i] = Arr; } массив принимает следующий вид: 1,5,5,5,5 1,5,5,5,5 1,5,5,5,5 1,5,5,5,5 1,5,5,5,5 |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Массив, это объект. А все объекты передают на себя ссылки, а не значения.
Поэтому, все элементы массива Arr2, хранят в себе ссылки на массив Arr. Поэтому, нужно делать так: PS. В ActionScript принято писать названия переменных с маленькой буквы. Последний раз редактировалось iNils; 21.01.2012 в 22:00. |
|
|||||
Регистрация: Jan 2012
Сообщений: 3
|
Все заработало. Спасибо за помощь!
|
|
|||||
Modus ponens
|
Если максимальный размер двухмерного массива не критичен, то я бы имитировал двумерные массивы через один одномерный, но с доступом и чтением по формуле i * w + j, где i - смещение по вертикали, w - количество колонок, j - смещение по горизонтали. Таким образом можно избежать создания лишних вложенных массивов.
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 21.01.2012 в 22:15. |
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Цитата:
|
|
|||||
Lorem ipsum
|
речь, наверное, шла об увеличении количества столбцов
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 00:57. |
|
« Предыдущая тема | Следующая тема » |
Теги |
array |
|
|