これが私のコードです
var randomNumber = Math.ceil(100 * Math.random());
switch (randomNumber) {
case (randomNumber < 20):
console.log("The number is less than 20");
break;
case (randomNumber => 20 && randomNumber < 50):
console.log("The number is between 20 and 50");
break;
case (randomNumber => 50 && randomNumber < 75):
console.log("The number is between 50 and 75");
break;
default:
console.log("The number is greater than 75");
break;
}
console.log(randomNumber);
最初の部分は、単に新しいバインディングを宣言し、それに1から100までのランダムな整数値を割り当てます。
2番目の部分であるswitchステートメントは、条件に応じて、randomNumberバインディングの値に応じて特定のメッセージを送信することになっています。
何らかの理由で(理由はわかりませんが)、default
キーワードに対応するコードのみを実行します。そしてもちろん、最後のステートメントも実行します。これは、バインディングの値をブラウザコンソールに出力します。
私は何が間違っているのですか?
switch
ステートメントが使用厳密な比較をして、あなたはに対してチェックする必要がありますtrue
。
次に、すでに下限をチェックしているので、上限のみをチェックできます。
var randomNumber = Math.ceil(100 * Math.random());
switch (true) {
case randomNumber < 20:
console.log("The number is less than 20");
break;
case randomNumber < 50:
console.log("The number is between 20 and 50");
break;
case randomNumber < 75:
console.log("The number is between 50 and 75");
break;
default:
console.log("The number is greater than 75");
break;
}
console.log(randomNumber);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加