What "Cannot read property 'length' of undefined" means?

I’ve already finished this but I’m curious about the “length undefined” part

Your code so far

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].length; j++) {
product *= 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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36.

Challenge: Nesting For Loops

Link to the challenge:

You had me stumped for a minute; but then I saw the last line of code :slight_smile:

try function multiplyAll(arr = []) { for your first line

1 Like

It means that the thing you’re trying to get the length property from isn’t an array, it’s undefined. undefined doesn’t have a length property. As @pjonp says, look at the last line there

1 Like