Skip to content Skip to sidebar Skip to footer

Javascript Creating Multi-dimensional Array Syntax

Today I've heard that it's possible to create a multi - dimensional array in js using this syntax: var a = new Array(3,3); a[2][2] = 2; alert(a[2][2]) However this doesn't work in

Solution 1:

Yes, you are wrong somewhere. var a = new Array(3,3); means the same as var a = [3,3];. It creates an array with two members: the Number 3 and the Number 3 again.

The array constructor is one of the worst parts of the JavaScript language design. Given a single value, it determines the length of the array. Given multiple values, it uses them to initialise the array.

Always use the var a = []; syntax. It is consistent (as well as being shorter and easier to read).

There is no short-cut syntax for creating an array of arrays. You have to construct each one separately.

var a = [ 
          [1,2,3],
          [4,5,6],
          [7,8,9]
         ];

Solution 2:

The code you posted makes an array consisting of two integers. You're then trying to treat an integer as an array.

mv = new Array();
mv[0] = new Array();
mv[0][0] = "value1-1";
mv[0][1] = "value1-2";

mv[1] = new Array();
mv[1][0] = "value2-1";
mv[1][1] = "value2-2";

There is no way to directly instantiate a multidimensional array.

Solution 3:

you want to create an array of arrays, but you're creating an array with 2 elements:

var a = newArray(3,3);
// a = [3,3]

if you want to create a multidimensional array, you have to think in terms of array of arrays. this way, a 2 dimensional array (or matrix) would be defined as :

var a = [[],[]];//or var a = new Array([],[]);//or if you want to initialize the matrix : var b = [
    [1,2],
    [3,4]
];

Post a Comment for "Javascript Creating Multi-dimensional Array Syntax"