JS Двумерный массив
|
|
KPECT | Дата: Воскресенье, 27 Октября 2013, 18:11 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Народ кто нибудь пытался заполнять двумерный массив через push ? Такое впечатление что с двумерным он не работает, конструкции аля array[][] не работают тоже ....
Задача такая, на ходу создается и заполняется массив, длинна и кол-во элементов каждый раз разные, решил долго не пучить мозг пошел гуглить, нечего внятного не нашел толком кроме вот этого Код function createArray(sizeX,sizeY) {
myArr = Array(sizeX); for(var i=0;i<myArr.length;i++){ myArr[i] = Array(sizeY); for (var j=0;j<myArr[i].length;j++){ myArr[i][j] = '['+(i+1)+']['+(j+1)+']'; } } return Array; }
и почему тоне работает
Код var test = createArray(2,2) alert(test.length); alert(test[0][0]);
массива нету...... С обычным массивом все работает,с двумерным запарка какая то..
Сообщение отредактировал KPECT - Воскресенье, 27 Октября 2013, 18:15 |
|
| |
Ghost_in_the_shell | Дата: Воскресенье, 27 Октября 2013, 18:31 | Сообщение # 2 |
участник
Сейчас нет на сайте
|
Сообщение отредактировал Ghost_in_the_shell - Воскресенье, 27 Октября 2013, 18:32 |
|
| |
KPECT | Дата: Воскресенье, 27 Октября 2013, 18:56 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| Ghost_in_the_shell, Блин вот я невнимательный )))) спасибо, ткнул носом слепошарого))
|
|
| |
AGENTX001 | Дата: Воскресенье, 27 Октября 2013, 20:03 | Сообщение # 4 |
почётный гцупер
Сейчас нет на сайте
| Цитата KPECT ( ) myArr = Array(sizeX); Цитата var myArr = new Array(); 1) var - убью за var. Ты создал глобальную переменную, ко всему прочему, возвращаешь указатель на нее и таким образом, если попробуешь создать еще один двумерный массив, то он перезапишет первый и будет очень весело. 2) Array - конструктор. 3) Array - принимает аргументом не количество ячеек, а список значений в соответствующих ячейках. Код var arr = new Array(1, 2, 3) // создаст массив с ячейками [1, 2, 3] Добавлено (27.10.2013, 20:03) --------------------------------------------- Рабочий код, наваял за пару минут Код function createArray (sX, sY) { var arr = [];
for (var x = 0; x < sX; x++) { arr[x] = []; for (var y = 0; y < sY; y++) { arr[x][y] = null; } }
return arr; }
Сообщение отредактировал AGENTX001 - Воскресенье, 27 Октября 2013, 19:57 |
|
| |
KPECT | Дата: Воскресенье, 27 Октября 2013, 20:15 | Сообщение # 5 |
почетный гость
Сейчас нет на сайте
| AGENTX001, да это не мой код я вообще с пушем умчался изначально)) а это код сгуглил и пытался понять почему не работает
А что за Null? интересная конструкция, для чего она?
Сообщение отредактировал KPECT - Воскресенье, 27 Октября 2013, 20:26 |
|
| |
arlaid | Дата: Воскресенье, 27 Октября 2013, 20:38 | Сообщение # 6 |
частый гость
Сейчас нет на сайте
| Цитата KPECT ( ) А что за Null? интересная конструкция, для чего она?
Значение становится равно нулю
|
|
| |
KPECT | Дата: Воскресенье, 27 Октября 2013, 21:10 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| Затейливо)) Добавлено (27.10.2013, 21:10) --------------------------------------------- На фоне всего сказанного, погуглил частые ошибки программистов, нашел такую вот полезную статейку http://habrahabr.ru/post/121803/
|
|
| |
AGENTX001 | Дата: Понедельник, 28 Октября 2013, 14:09 | Сообщение # 8 |
почётный гцупер
Сейчас нет на сайте
| KPECT, да, хорошая статья. Вообще рекомендую javascript.ru - море доков и примеров, как для начинающих, так и для опытных.
|
|
| |