freeCodeCamp/curriculum/challenges/espanol/02-javascript-algorithms-an.../basic-javascript/use-multiple-conditional-te...

2.4 KiB

id title challengeType videoUrl forumTopicId dashedName
587d7b7e367417b2b2512b21 Usa múltiples operadores condicionales (ternarios) 1 https://scrimba.com/c/cyWJBT4 301179 use-multiple-conditional-ternary-operators

--description--

En el desafío anterior, usaste un único operador condicional. También puedes encadenarlos para comprobar múltiples condiciones.

La siguiente función utiliza sentencias if, else if, y else para comprobar múltiples condiciones:

function findGreaterOrEqual(a, b) {
  if (a === b) {
    return "a and b are equal";
  }
  else if (a > b) {
    return "a is greater";
  }
  else {
    return "b is greater";
  }
}

La función anterior puede ser reescrita utilizando múltiples operadores condicionales:

function findGreaterOrEqual(a, b) {
  return (a === b) ? "a and b are equal" 
    : (a > b) ? "a is greater" 
    : "b is greater";
}

Se considera buena práctica dar formato a múltiples operadores condicionales de forma que cada condición esté en una línea separada, como se muestra arriba. Usar múltiples operadores condicionales sin una indentación adecuada puede hacer tu código difícil de leer. Por ejemplo:

function findGreaterOrEqual(a, b) {
  return (a === b) ? "a and b are equal" : (a > b) ? "a is greater" : "b is greater";
}

--instructions--

En la función checkSign, usa múltiples operadores condicionales (siguiendo el formato recomendado usado en findGreaterOrEqual) para comprobar si un número es positivo, negativo o cero. La función debe devolver positive, negative o zero.

--hints--

checkSign debe utilizar múltiples operadores condicionales

assert(/.+?\s*?\?\s*?.+?\s*?:\s*?.+?\s*?\?\s*?.+?\s*?:\s*?.+?/gi.test(code));

checkSign(10) debe devolver la cadena positive. Ten en cuenta que la capitalización importa

assert(checkSign(10) === 'positive');

checkSign(-12) debe devolver la cadena negative. Ten en cuenta que la capitalización importa

assert(checkSign(-12) === 'negative');

checkSign(0) debe devolver la cadena zero. Ten en cuenta que la capitalización importa

assert(checkSign(0) === 'zero');

--seed--

--seed-contents--

function checkSign(num) {

}

checkSign(10);

--solutions--

function checkSign(num) {
  return (num > 0) ? 'positive' : (num < 0) ? 'negative' : 'zero';
}