if 文を switch 文に変えてみたところうまく動きません

switch 文で n < 0.1 などの式を使うことはできません。
2022年2月27日
ユーザー

いつも分かりやすい授業をありがとうございます。
自分でおみくじの種類を増やしたので、確率を switch 文で書いてみたいなと思いやってみたところうまく動きませんでした。
ボタンを押しても最初の「クリック」という文字が変わらないのはなぜでしょうか。
下記にコードを添付するのでご教授いただきたいです。
ちなみに下記のコードで switch 文以外のところはうまくできました。
長いコードで恐縮ですがよろしくお願いいたします。

'use strict';

{
  const button = document.getElementById('button');
  const omikuji = [
    '大吉',  // 10%
    '中吉',  // 15%
    '小吉',  // 25%
    '末吉',  // 25%
    '吉',  // 15%
    '凶',  // 10%

  ];
  button.textContent = 'クリック';

  button.addEventListener('click', () =>{
    // const n = Math.floor(Math.random() * omikuji.length);
    // button.textContent = omikuji[n];

    const n = Math.random();

    switch(n){
      case  n < 0.1:
      button.textContent = '大吉';
      break;

      case  n >= 0.1 && n < 0.25:
      button.textContent = '中吉';
      break;

      case n >= 0.25 && n < 0.50:
      button.textContent = '小吉';
      break;

      case n >= 0.50 && n < 0.75:
      button.textContent = '末吉';
      break;

      case n >= 0.75 && n < 0.90:
      button.textContent = '吉';
      break;

      case n >= 0.90 && n < 1:
      button.textContent = '凶';
      break;
    }
  });
}

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(5)