Вторник, 26 Ноября 2024, 16:55

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
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
участник
Сейчас нет на сайте
Код
return myArr;


Сообщение отредактировал 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)
---------------------------------------------
Рабочий код, наваял за пару минут happy

Код

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, да это не мой код я вообще с пушем умчался изначально)) а это код сгуглил и пытался понять почему не работает

Код
arr[x][y] = null;


А что за Null? интересная конструкция, для чего она?


Сообщение отредактировал KPECT - Воскресенье, 27 Октября 2013, 20:26
arlaidДата: Воскресенье, 27 Октября 2013, 20:38 | Сообщение # 6
частый гость
Сейчас нет на сайте
Цитата KPECT ()
А что за Null? интересная конструкция, для чего она?


Значение становится равно нулю cool
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 - море доков и примеров, как для начинающих, так и для опытных.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг