Подтвердить что ты не робот

Как объявить двумерные массивы в javascript?

Я хотел бы знать, как объявить 2-мерные массивы в java script фиксированных длин что-то вроде

var array = new Array[this.rows, this.columns];

после этого я хотел бы получить длину каждого измерения, например,

array[0].length; // i am assuming this would give me the first dimension like in C# array.GetLength(0);
array[1].length; // i am assuming this would give me the second dimension like in C# array.GetLength(1);

любая помощь приветствуется, спасибо.

4b9b3361

Ответ 1

Быстрый пример того, что @SLaks имеет в виду с зубчатыми массивами. Вы в основном помещаете массив в массив. В приведенном ниже примере показан один способ сделать массив размером 100x100.

var arr = [];
for(var x = 0; x < 100; x++){
    arr[x] = [];    
    for(var y = 0; y < 100; y++){ 
        arr[x][y] = x*y;    
    }    
}

console.log(arr[10][11]);

Живая демонстрация

Этот метод очень гибкий, например, arr[4] может иметь индексированный массив до 10, а arr[5] может иметь массив с 1 значением или быть даже совсем другим типом, таким как строка или число.

Ответ 2

В отличие от С#, Javascript не поддерживает многомерные массивы.

Вместо этого вы можете использовать вложенные ( "зубчатые" ) массивы.

Ответ 3

В javascript:

var Matrix = function (rows, columns)  {
    this.rows = rows;
    this.columns = columns;
    this.myarray = new Array(this.rows);
    for (var i=0; i < this.columns; i +=1) {
        this.myarray[i]=new Array(this.rows)
    }
    return this.myarray;
}

var m = new Matrix(2,2);
m; // [[undefined, undefined], [undefined, undefined]];

var m2 = new Matrix(3,3);
m2; // [[undefined, undefined, undefined], [undefined, undefined, undefined], [undefined, undefined, undefined]]

Ответ 4

Вложенный массив 3x3 (undefined):

var arr = new Array(3);
for (var i = 0; i < arr.length; ++i) {
  arr[i] = new Array(3);
}

console.log(arr);

Ответ 5

Не могли бы вы просто сделать что-то подобное?

var x = new Array(4);             #1st array, array of arrays                              
y = new Array(1, 4, 2, 0);       #2nd dimension of arrays, an array of values                  
z = new Array(4, 8, 3, 9);       #^^^                       
a = new Array(7, 0, 2, 4);       #^^^                  
t = new Array(9, 0, 3, 1);        #^^^

то для доступа к 7 (1-е значение) в массиве a (3) вы можете ввести:

var example = x.3.1

Если это не работает, скажите, пожалуйста, потому что это то, что мне сказали, и что я теперь использую для программирования своей игры.