dwyl / dwyl/learn-javascript

Understanding for loops

Open
#23 3 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
HTML
Stars
65
Forks
15
PR merge metrics
No merged PRs in 30d

Description

@sophielevens asked me this question about understanding for loops. The question is from Free Code Camp.

**Question**
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++) {
console.log(arr[i][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.
**Instructions**
Modify function multiplyAll so that it multiplies the product variable by each number in the sub-arrays of arrand the answer is this
```
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]]);
```

**Her questions were:**
1. Where on earth did [i] and [j] come from? Have googled it and can't find out what they mean
2. Also, (i++) is apparently the same as (i = i + 1) why do we want to add 1 to i?

Contributor guide

No contributing guide indexed for this repository

Research direction

No repository file or test is named in the issue. Start with the supplied multiplyAll example and review the surrounding JavaScript learning material; done means the material clearly answers what i and j represent, why the loops increment them, and how the nested arrays are traversed.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
documentation
Issue type
Documentation
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.