| 
									
										
										
										
											2018-10-04 14:37:37 +01:00
										 |  |  | --- | 
					
						
							|  |  |  | id: 56533eb9ac21ba0edf2244db | 
					
						
							|  |  |  | title: Introducing Else If Statements | 
					
						
							|  |  |  | challengeType: 1 | 
					
						
							| 
									
										
										
										
											2019-02-14 12:24:02 -05:00
										 |  |  | videoUrl: 'https://scrimba.com/c/caeJ2hm' | 
					
						
							| 
									
										
										
										
											2019-07-31 11:32:23 -07:00
										 |  |  | forumTopicId: 18206 | 
					
						
							| 
									
										
										
										
											2021-01-13 03:31:00 +01:00
										 |  |  | dashedName: introducing-else-if-statements | 
					
						
							| 
									
										
										
										
											2018-10-04 14:37:37 +01:00
										 |  |  | --- | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-27 19:02:05 +01:00
										 |  |  | # --description--
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | If you have multiple conditions that need to be addressed, you can chain `if` statements together with `else if` statements. | 
					
						
							| 
									
										
										
										
											2019-05-17 06:20:30 -07:00
										 |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | if (num > 15) { | 
					
						
							|  |  |  |   return "Bigger than 15"; | 
					
						
							|  |  |  | } else if (num < 5) { | 
					
						
							|  |  |  |   return "Smaller than 5"; | 
					
						
							|  |  |  | } else { | 
					
						
							|  |  |  |   return "Between 5 and 15"; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-27 19:02:05 +01:00
										 |  |  | # --instructions--
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Convert the logic to use `else if` statements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # --hints--
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You should have at least two `else` statements | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | assert(code.match(/else/g).length > 1); | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You should have at least two `if` statements | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | assert(code.match(/if/g).length > 1); | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | You should have closing and opening curly braces for each `if else` code block. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | assert( | 
					
						
							|  |  |  |   code.match( | 
					
						
							|  |  |  |     /if\s*\((.+)\)\s*\{[\s\S]+\}\s*else\s+if\s*\((.+)\)\s*\{[\s\S]+\}\s*else\s*\{[\s\S]+\s*\}/ | 
					
						
							|  |  |  |   ) | 
					
						
							|  |  |  | ); | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-02 16:12:12 -08:00
										 |  |  | `testElseIf(0)` should return the string `Smaller than 5` | 
					
						
							| 
									
										
										
										
											2018-10-04 14:37:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-27 19:02:05 +01:00
										 |  |  | ```js | 
					
						
							|  |  |  | assert(testElseIf(0) === 'Smaller than 5'); | 
					
						
							| 
									
										
										
										
											2018-10-04 14:37:37 +01:00
										 |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-02 16:12:12 -08:00
										 |  |  | `testElseIf(5)` should return the string `Between 5 and 10` | 
					
						
							| 
									
										
										
										
											2018-10-04 14:37:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-27 19:02:05 +01:00
										 |  |  | ```js | 
					
						
							|  |  |  | assert(testElseIf(5) === 'Between 5 and 10'); | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2018-10-04 14:37:37 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-02 16:12:12 -08:00
										 |  |  | `testElseIf(7)` should return the string `Between 5 and 10` | 
					
						
							| 
									
										
										
										
											2020-11-27 19:02:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | assert(testElseIf(7) === 'Between 5 and 10'); | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-02 16:12:12 -08:00
										 |  |  | `testElseIf(10)` should return the string `Between 5 and 10` | 
					
						
							| 
									
										
										
										
											2020-11-27 19:02:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | assert(testElseIf(10) === 'Between 5 and 10'); | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-02 16:12:12 -08:00
										 |  |  | `testElseIf(12)` should return the string `Greater than 10` | 
					
						
							| 
									
										
										
										
											2020-11-27 19:02:05 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | assert(testElseIf(12) === 'Greater than 10'); | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # --seed--
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## --seed-contents--
 | 
					
						
							| 
									
										
										
										
											2018-10-04 14:37:37 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | function testElseIf(val) { | 
					
						
							|  |  |  |   if (val > 10) { | 
					
						
							|  |  |  |     return "Greater than 10"; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2018-10-08 01:01:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-04 14:37:37 +01:00
										 |  |  |   if (val < 5) { | 
					
						
							|  |  |  |     return "Smaller than 5"; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2018-10-08 01:01:53 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-10-04 14:37:37 +01:00
										 |  |  |   return "Between 5 and 10"; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | testElseIf(7); | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-27 19:02:05 +01:00
										 |  |  | # --solutions--
 | 
					
						
							| 
									
										
										
										
											2018-10-04 14:37:37 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ```js | 
					
						
							|  |  |  | function testElseIf(val) { | 
					
						
							|  |  |  |   if(val > 10) { | 
					
						
							|  |  |  |     return "Greater than 10"; | 
					
						
							|  |  |  |   } else if(val < 5) { | 
					
						
							|  |  |  |     return "Smaller than 5"; | 
					
						
							|  |  |  |   } else { | 
					
						
							|  |  |  |     return "Between 5 and 10"; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | ``` |