2018-10-04 14:37:37 +01:00
---
id: 56533eb9ac21ba0edf2244dc
title: Chaining If Else Statements
challengeType: 1
2019-02-14 12:24:02 -05:00
videoUrl: 'https://scrimba.com/c/caeJgsw'
2019-07-31 11:32:23 -07:00
forumTopicId: 16772
2018-10-04 14:37:37 +01:00
---
## Description
< section id = 'description' >
< code > if/else< / code > statements can be chained together for complex logic. Here is < dfn > pseudocode< / dfn > of multiple chained < code > if< / code > / < code > else if< / code > statements:
2019-05-17 06:20:30 -07:00
```js
if (condition1) {
statement1
} else if (condition2) {
statement2
} else if (condition3) {
statement3
. . .
} else {
statementN
}
```
2018-10-04 14:37:37 +01:00
< / section >
## Instructions
< section id = 'instructions' >
Write chained < code > if< / code > /< code > else if< / code > statements to fulfill the following conditions:
< code > num < 5< / code > - return "Tiny"< br > < code > num < 10< / code > - return "Small"< br > < code > num < 15< / code > - return "Medium"< br > < code > num < 20< / code > - return "Large"< br > < code > num >= 20< / code > - return "Huge"
< / section >
## Tests
< section id = 'tests' >
```yml
tests:
- text: You should have at least four < code > else</ code > statements
2019-07-13 00:07:53 -07:00
testString: assert(code.match(/else/g).length > 3);
2018-10-04 14:37:37 +01:00
- text: You should have at least four < code > if</ code > statements
2019-07-13 00:07:53 -07:00
testString: assert(code.match(/if/g).length > 3);
2018-10-04 14:37:37 +01:00
- text: You should have at least one < code > return</ code > statement
2019-07-13 00:07:53 -07:00
testString: assert(code.match(/return/g).length >= 1);
2018-10-04 14:37:37 +01:00
- text: < code > testSize(0)</ code > should return "Tiny"
2019-07-13 00:07:53 -07:00
testString: assert(testSize(0) === "Tiny");
2018-10-04 14:37:37 +01:00
- text: < code > testSize(4)</ code > should return "Tiny"
2019-07-13 00:07:53 -07:00
testString: assert(testSize(4) === "Tiny");
2018-10-04 14:37:37 +01:00
- text: < code > testSize(5)</ code > should return "Small"
2019-07-13 00:07:53 -07:00
testString: assert(testSize(5) === "Small");
2018-10-04 14:37:37 +01:00
- text: < code > testSize(8)</ code > should return "Small"
2019-07-13 00:07:53 -07:00
testString: assert(testSize(8) === "Small");
2018-10-04 14:37:37 +01:00
- text: < code > testSize(10)</ code > should return "Medium"
2019-07-13 00:07:53 -07:00
testString: assert(testSize(10) === "Medium");
2018-10-04 14:37:37 +01:00
- text: < code > testSize(14)</ code > should return "Medium"
2019-07-13 00:07:53 -07:00
testString: assert(testSize(14) === "Medium");
2018-10-04 14:37:37 +01:00
- text: < code > testSize(15)</ code > should return "Large"
2019-07-13 00:07:53 -07:00
testString: assert(testSize(15) === "Large");
2018-10-04 14:37:37 +01:00
- text: < code > testSize(17)</ code > should return "Large"
2019-07-13 00:07:53 -07:00
testString: assert(testSize(17) === "Large");
2018-10-04 14:37:37 +01:00
- text: < code > testSize(20)</ code > should return "Huge"
2019-07-13 00:07:53 -07:00
testString: assert(testSize(20) === "Huge");
2018-10-04 14:37:37 +01:00
- text: < code > testSize(25)</ code > should return "Huge"
2019-07-13 00:07:53 -07:00
testString: assert(testSize(25) === "Huge");
2018-10-04 14:37:37 +01:00
```
< / section >
## Challenge Seed
< section id = 'challengeSeed' >
< div id = 'js-seed' >
```js
function testSize(num) {
// Only change code below this line
2018-10-08 01:01:53 +01:00
2018-10-04 14:37:37 +01:00
return "Change Me";
// Only change code above this line
}
testSize(7);
```
< / div >
< / section >
## Solution
< section id = 'solution' >
```js
function testSize(num) {
if (num < 5 ) {
return "Tiny";
} else if (num < 10 ) {
return "Small";
} else if (num < 15 ) {
return "Medium";
} else if (num < 20 ) {
return "Large";
} else {
return "Huge";
}
}
```
< / section >