могу ли я использовать оператор switch в любом из приведенных ниже вопросов? или "иначе, если" правильный путь?

Я пытаюсь написать функцию, удовлетворяющую следующему:

-счет от 1 до 100, -на числах, делимых на 4, вывести «на четыре», -он числах, делимых на 6, вывести «на шесть», -он числах, кратных как на 4, так и на 6, вывести «на четыре», -пропустить числа, делящиеся на 7, -на число 32 добавить "!". Это то, что у меня есть, но мне было интересно, есть ли способ использовать оператор switch или какой-либо более оптимальный способ его написать.

function maths(){
  for (let i=1; i<=100; i++){
    if (i === 32){  
    console.log (`${i}!`);
    }
    else if (i % 4 === 0 && i % 6 === 0){
       console.log ("byfoursix");
    }
    else if (i % 4 ===0) {
       console.log ("byfour");
    }
    else if (i % 6 === 0) {
       console.log ("bysix");
    } 
    else if (i % 7 === 0){
       continue;
        }
    else {
      console.log (i);
    }
  }
}

maths();

Любой вклад или совет очень ценятся! Спасибо

# if-statement switch-statement function
Источник
  • 0
    вы не можете использовать switch для этого случая, потому что переключатель сравнивает значение непосредственно со значением case для равенства
Codelisting
за 0 против
Лучший ответ

При желании можно использовать корпус переключателя, установив для параметра переключателя значениеtrue чтобы он работал, хотя это не обязательно лучший способ его написания.

for (let i = 1; i <= 100; i++) {
      switch (true) {
        case (i === 32):
          console.log(`${i}!`);
          break;
        case (i % 4 === 0 && i % 6 === 0):
          console.log('byfoursix');
          break;
        case (i % 4 === 0):
          console.log('byfour');
          break;
        case (i % 6 === 0):
          console.log('bysix');
          break;
        case (i % 7 === 0):
          break;
        default:
          console.log(i);
      }
}
Codelisting
Популярные категории
На заметку программисту