0

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 
 }
 }
 })
asked Oct 5, 2013 at 17:16
7
  • What is the expected output? Commented Oct 5, 2013 at 17:18
  • What's wrong with your code? Did you tried to run it? Commented Oct 5, 2013 at 17:19
  • 1
    You've wrapped it in a function, but you don't execute the function. But why wrap it in a function at all? Commented Oct 5, 2013 at 17:19
  • Are you getting an error message with that code? Commented Oct 5, 2013 at 17:19
  • 1
    Your code looks absolutely correct. What is it not doing that you think it should be? Commented Oct 5, 2013 at 17:19

2 Answers 2

4

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

You've simply forgotten to invoke your anonymous function

answered Oct 5, 2013 at 17:21
Sign up to request clarification or add additional context in comments.

Comments

3

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

answered Oct 5, 2013 at 17:20

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.