freeCodeCamp/curriculum/challenges/portuguese/02-javascript-algorithms-an.../basic-javascript/introducing-else-if-stateme...

2.0 KiB

id title challengeType videoUrl forumTopicId dashedName
56533eb9ac21ba0edf2244db Introduzir instruções else if 1 https://scrimba.com/c/caeJ2hm 18206 introducing-else-if-statements

--description--

Se você tem múltiplas condições que precisam ser resolvidas, você pode encadear as instruções if junto com instruções else if.

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

--instructions--

Converta a lógica para usar instruções else if.

--hints--

Você deve ter pelo menos duas instruções else

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

Você deve ter pelo menos duas instruções if

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

Você deve ter chaves de abertura e fechamento para cada bloco de código de if else.

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

testElseIf(0) deve retornar a string Smaller than 5

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

testElseIf(5) deve retornar a string Between 5 and 10

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

testElseIf(7) deve retornar a string Between 5 and 10

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

testElseIf(10) deve retornar a string Between 5 and 10

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

testElseIf(12) deve retornar a 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";
  }
}