Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

Can anyone give me a sample/example of JavaScript with a multidimensional array of inputs? Hope you could help because I'm still new to the JavaScript.

Like this:

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

output : [1,4,7],
         [1,4,8],
         [1,4,9],
         [1,5,7],
         [1,5,8],
         [1,5,9],
         [1,6,7],
         [1,6,8],
         [1,6,8],
        ......... 
        .........
         [3,6,7],
         [3,6,8],
         [3,6,9]

Thanks

share|improve this question
2  
Do you know how to loop over a single array ? –  phtrivier May 9 '13 at 11:32

2 Answers 2

This code should work:

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

for(var i=0; i<cubes[0].length; ++i)
for(var j=0; j<cubes[1].length; ++j)
for(var k=0; k<cubes[2].length; ++k) {
    alert([cubes[0][i],cubes[1][j],cubes[2][k]]);
}
share|improve this answer
    
Beat me to it ;) –  Maloric May 9 '13 at 11:51
    
Unfortunately, this solution only works for 3-dimensional arrays. However, I've found a way to loop through arrays with any number of dimensions (which may be more useful): stackoverflow.com/a/15854485/975097 –  Anderson Green Jul 20 '13 at 22:17

This works for the given array, but means if you have more than three inner arrays, or more array dimensions then you would have to manually edit the javascript.

$(document).ready(function(){
    var cubes =   [[1, 2, 3],[4, 5, 6],[7, 8, 9]];
    var output = "";

    for(var a = 0; a < cubes[0].length; a++)
    for(var b = 0; b < cubes[1].length; b++)
    for(var c = 0; c < cubes[2].length; c++) {
        output = output + [cubes[0][a],cubes[1][b],cubes[2][c]] + ",<br />";
    }

    $('#output').html(output);
});

Working example: http://jsfiddle.net/HtSkd/

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.