Tell us what’s happening:
Would someone like to explain to me what it means “(var j=0; j < arr[i].length; j++)”, the code in bold is what I don’t understand. Why should [i] be put in the “arr” of the internal loop?
I appreciate your help.
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++){
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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36.
j is an index position on that array, so you’re making sure you don’t get stuck in an infinite loop by exceeding the length of that array. Essentially think of arr[i] as the name of the array you are iterating with j.
yes, and no, wth this you will print to the console only things that are in the lowest level array - you need to consider that a number doesn’t have a length, and the k loop it is not executed so the other things are not printed - there are other ways for this that you will learn later