Files
2022-01-20 20:30:18 +01:00

2.7 KiB

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
587d7b7e367417b2b2512b21 複数条件 (三項) 演算子を使用する 1 https://scrimba.com/c/cyWJBT4 301179 use-multiple-conditional-ternary-operators

--description--

以前のチェレンジでは単一条件演算子を使用しました。 それらをまとめて、複数の条件をチェックすることもできます。

次の関数は if ステートメント、else if ステートメント、else ステートメントを使用して、複数の条件をチェックしています。

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

上記の関数は複数条件演算子を使用して書き換えることができます。

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

上記のように、各条件が別々の行となるように複数条件演算子を記述することをお勧めします。 適切なインデントを付けずに複数条件演算子を使用すると、コードが読みにくくなる可能性があります。 例:

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

--instructions--

checkSign 関数内で複数条件演算子を使用して、数値が正か負かゼロかをチェックしてください (findGreaterOrEqual で推奨した記法に従ってください)。 この関数は、positivenegative、または zero を返す必要があります。

--hints--

checkSign で複数条件演算子を使用する必要があります

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

checkSign(10) は文字列 positive を返す必要があります。 大文字の記述が重要であることに注意してください。

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

checkSign(-12) は文字列 negative を返す必要があります。 大文字の記述が重要であることに注意してください。

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

checkSign(0) は文字列 zero を返す必要があります。 大文字の記述が重要であることに注意してください。

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

--seed--

--seed-contents--

function checkSign(num) {

}

checkSign(10);

--solutions--

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