Basic JavaScript: Nesting For Loops - Solution not accepted?

Basic JavaScript: Nesting For Loops - Solution not accepted?


Here’s the exercise from FreeCodeCamp:

Basic JavaScript: Nesting For Loops
If you have a multi-dimensional array, you can use the same logic as the prior waypoint to loop through both the array and any sub-arrays. Here is an example:

var arr = [
  [1,2], [3,4], [5,6]
for (var i=0; i < arr.length; i++) {
  for (var j=0; j < arr[i].length; j++) {

This outputs each sub-element in arr one at a time. Note that for the inner loop, we are checking the .length of arr[i], since arr[i] is itself an array.

Modify function multiplyAll so that it multiplies the product variable by each number in the sub-arrays of arr.

Here’s my solution:

function multiplyAll(arr) {
  var product = 1;
  // Only change code below this line
  for (var i = 0; i < arr.length; i++) {
    for (var j = 0; j < arr[i].lenght; j++) {
      product *= arr[i][j];
  // Only change code above this line
  return product;

// Modify values below to test your code

Although this code is matching other solutions provided by youtubers, FreeCodeCamp is not accepting it as a solution. No changes I’ve tried has worked and I’m out of ideas. Can anyone see a problem that I’m missing?


there’s a typo in the word length
(look at your second loop)


Your solution does not work, because you have a typo on the line above.


I’ve edited your post for readability. When you enter a code block into the forum, precede it with a line of three backticks and follow it with a line of three backticks to make easier to read. See this post to find the backtick on your keyboard. The “preformatted text” tool in the editor (</>) will also add backticks around text.


Oh! I completely missed that. Funny it didn’t give me an error for the typo though.

Thanks for the help!


If you would have ran the tests and looked at your browser’s console, you would have seen an error message. Always look at the browser’s console when things do not work as you think they should, because there could be an error you are missing.