Files
freecodecamp--freecodecamp/curriculum/challenges/english/blocks/basic-javascript/56533eb9ac21ba0edf2244db.md
T
wehub-resource-sync dde272c4b8
i18n - Build Validation / Validate i18n Builds (24) (push) Has been cancelled
CI - Node.js / Lint (24) (push) Has been cancelled
CI - Node.js / Build (24) (push) Has been cancelled
CI - Node.js / Test (24) (push) Has been cancelled
CI - Node.js / Test - Upcoming Changes (24) (push) Has been cancelled
CI - Node.js / Test - i18n (italian, 24) (push) Has been cancelled
CI - Node.js / Test - i18n (portuguese, 24) (push) Has been cancelled
CD - Docker - GHCR Images / Build and Push Images (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 11:55:53 +08:00

2.0 KiB

id, title, challengeType, forumTopicId, dashedName
id title challengeType forumTopicId dashedName
56533eb9ac21ba0edf2244db Introducing Else If Statements 1 18206 introducing-else-if-statements

--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";
  }
}