73 lines
1.9 KiB
Markdown
73 lines
1.9 KiB
Markdown
While and For In Loops
|
|
========================
|
|
|
|
In this challenge, we're going to write a while loop, a For In loop, and nest them.
|
|
|
|
#### While Loops
|
|
|
|
A while loop iterates until a condition is no longer true. For example:
|
|
```
|
|
while(greg == alive){
|
|
live_year(1)
|
|
age++
|
|
}
|
|
```
|
|
Seemingly, a while loop could be endless. In that case, we have to break it. Take the following example:
|
|
```
|
|
i = 0
|
|
|
|
while(true){
|
|
i++
|
|
print("I'm an endless loop")
|
|
if(i >= 50){
|
|
break;
|
|
}
|
|
}
|
|
```
|
|
This will run exactly 50 times.
|
|
|
|
#### For In
|
|
|
|
A For In loop iterates through each index in the data structure. In an array, an index is an integer, that starts at 0. Take this example:
|
|
```
|
|
var array = ['john', 'bobby', 'homa', 'stevie', 'rob']
|
|
|
|
for(var i in array) {
|
|
console.log(i) // prints 0, 1, 2, 3, 4
|
|
}
|
|
```
|
|
In an object however, the index is a string. Check this out:
|
|
```
|
|
var obj = {'john': 'student', 'bobby': 'programmer', 'homa': 'actress', 'stevie': 'gamer'}
|
|
|
|
for(var k in obj) {
|
|
console.log(k) // prints 'john', 'bobby', 'homa', 'stevie'
|
|
}
|
|
```
|
|
#### Sandbox
|
|
|
|
Try this on your own in your node console or browser console. Declare some objects, iterate through them, print them out.
|
|
|
|
Also check out [.forEach](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)
|
|
|
|
#### Multiplication Tables
|
|
|
|
Using any loop / loops of your choosing, write code that prints the multiplication tables up to a number input by the user in a form.
|
|
|
|
Create the form that gets the user input yourself above the #printout div, and append the result to the printout div.
|
|
|
|
Bonus if you actually use a table.
|
|
|
|
Your return should look something like this:
|
|
```
|
|
// userinput = 7
|
|
```
|
|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
|
1 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
|
2 | 2 | 4 | 6 | 8 | 10| 12| 14|
|
|
3 | 3 | 6 | 9 | 12| 15| 18| 21|
|
|
4 | 4 | 8 | 12| 16| 20| 24| 28|
|
|
5 | 5 | 10| 15| 20| 25| 30| 35|
|
|
6 | 6 | 12| 18| 24| 30| 36| 42|
|
|
7 | 7 | 14| 21| 28| 35| 42| 49|
|