javascriptloopsmultidimensional-array

For loop in multidimensional javascript array


Since now, I'm using this loop to iterate over the elements of an array, which works fine even if I put objects with various properties inside of it.

var cubes[];

for (i in cubes){
     cubes[i].dimension
     cubes[i].position_x
     ecc..
}

Now, let's suppose cubes[] is declared this way

var cubes[][];

Can I do this in JavaScript? How can I then automatically iterate in

cubes[0][0]
cubes[0][1]
cubes[0][2]
cubes[1][0]
cubes[1][1]
cubes[1][2]
cubes[2][0]
ecc...

As a workaround, I can just declare:

var cubes[];
var cubes1[];

and work separately with the two arrays. Is this a better solution?


Solution

  • You can do something like this:

    var cubes = [
     [1, 2, 3],
     [4, 5, 6],    
     [7, 8, 9],
    ];
    
    for(var i = 0; i < cubes.length; i++) {
        var cube = cubes[i];
        for(var j = 0; j < cube.length; j++) {
            display("cube[" + i + "][" + j + "] = " + cube[j]);
        }
    }
    

    Working jsFiddle:

    The output of the above:

    cube[0][0] = 1
    cube[0][1] = 2
    cube[0][2] = 3
    cube[1][0] = 4
    cube[1][1] = 5
    cube[1][2] = 6
    cube[2][0] = 7
    cube[2][1] = 8
    cube[2][2] = 9