Nested in "Nesting For Loops"

Nested in "Nesting For Loops"
0

#1

Tell us what’s happening:
Hi! I have hit a brick wall with getting passed this exercise. I am not really sure what I am doing wrong here. Could you please help?

Your code so far


function multiplyAll(arr) {
  var product = 1;
  // Only change code below this line
  var multiplyAll = ([
    [1,2],[3,4],[5,6,7]
    ]);
  for (var i = 0; i < arr.length; i++) {
    for (var j=0; j < arr[i].length; j++){
      console.log(arr[i][j]);
    }
  }
  // Only change code above this line
  return product;
}

// Modify values below to test your code
multiplyAll([[1,2],[3,4],[5,6,7]]);

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/nesting-for-loops


#2

First, get rid of that multiplyAll variable inside of your function body. Then instead of that line console.log(arr[i][j]);, you need to multiply your product variable with arr[i][j]… hope this helps :smiley:


#3

The code above attempts to redefine what multiplyAll is. The line at the bottom of the code above:

multiplyAll([[1,2],[3,4],[5,6,7]]);

passes the [ [1,2],[3,4],[5,6,7] ] as an argument to the multiplyAll function. That is why you can reference arr in your function and it is the same array which was passed into the function.

Console.log statements are only meant to display information to the console. They do not do anything else. Since you are returning the variable named product at the end, you need to be modifying the value of product so that it contains the result of multiplying each number in the subarrays.

Hint: Think about how you could use the *= operator here with product and arr[i][j].