Sony packman
Sony packman

Reputation: 840

Nested array for loop

I'm stuck trying to figure out how to loop trough nested arrays.

I have an array called worldShapes that contains child arrays. I want to loop trough the parent array and get all the child arrays from it.

Here's my attempt:

//Nested array

worldShapes = [

[33,108,66,141,99,174,99,207,132,207,165,207,165,240],

[132,306,165,306,165,339,165,372,132,405,99,405,99,438,132,438,165,438],

[198,339,231,339,264,372,297,372,330,405,363,438,396,438],

[198,174,198,273,231,306,264,306],

[231,174,231,240,264,273,297,273],

[396,306,462,306,495,339,495,372,528,405,528,438,561,438,594,471],

[660,504,561,504,495,504]

];

//trying to loop trough each item in the child array

(function(){
    var wShapes = worldShapes; //create a local variable
    var wLen = wShapes.length; //store the length as a variable

        for (var i = 0; i < wLen; i++) {
            for (var j = 0; j < wShapes[i].length; j++){
            console.log(wShapes[i][j]); //this is propably wrong, trying to access the current child item of the current parent array 
            }
        }
    })

Upvotes: 0

Views: 388

Answers (2)

user2625787
user2625787

Reputation:

To execute the function, add ()

(function () {
    var wShapes = worldShapes; //create a local variable
    var wLen = wShapes.length; //store the length as a variable

    for (var i = 0; i < wLen; i++) {
        for (var j = 0; j < wShapes[i].length; j++) {
            console.log(wShapes[i][j]); //this is propably wrong, trying to access the current child item of the current parent array 
        }
    }
}()); // here

Fiddle

Upvotes: 3

gzak
gzak

Reputation: 4110

Just add (); to the very end of your code ;-)

You've simply forgotten to invoke your anonymous function

Upvotes: 4

Related Questions