Skip to main content

--description--

If you have multiple conditions that need to be addressed, you can chain if statements together with else if statements.

if (num > 15) {
return "Bigger than 15";
} else if (num < 5) {
return "Smaller than 5";
} else {
return "Between 5 and 15";
}

--instructions--

Convert the logic to use else if statements.

--hints--

You should have at least two else statements

assert(__helpers.removeJSComments(code).match(/else/g).length > 1);

You should have at least two if statements

assert(__helpers.removeJSComments(code).match(/if/g).length > 1);

You should have closing and opening curly braces for each if else code block.

assert(
__helpers.removeJSComments(code).match(
/if\s*\((.+)\)\s*\{[\s\S]+\}\s*else\s+if\s*\((.+)\)\s*\{[\s\S]+\}\s*else\s*\{[\s\S]+\s*\}/
)
);

testElseIf(0) should return the string Smaller than 5

assert(testElseIf(0) === 'Smaller than 5');

testElseIf(5) should return the string Between 5 and 10

assert(testElseIf(5) === 'Between 5 and 10');

testElseIf(7) should return the string Between 5 and 10

assert(testElseIf(7) === 'Between 5 and 10');

testElseIf(10) should return the string Between 5 and 10

assert(testElseIf(10) === 'Between 5 and 10');

testElseIf(12) should return the string Greater than 10

assert(testElseIf(12) === 'Greater than 10');

--seed--

--seed-contents--

function testElseIf(val) {
if (val > 10) {
return "Greater than 10";
}

if (val < 5) {
return "Smaller than 5";
}

return "Between 5 and 10";
}

testElseIf(7);

--solutions--

function testElseIf(val) {
if(val > 10) {
return "Greater than 10";
} else if(val < 5) {
return "Smaller than 5";
} else {
return "Between 5 and 10";
}
}