首页 > 解决方案 > 切换<或>值大小写

问题描述

我只是想知道是否有办法让这种事情在 switch 语句中起作用,我知道在 else if 语句中很有可能,但我更愿意使用 switch 语句,下面我附上了一个示例代码来说明我的意思......

let money = 42;

switch (money) {
  case < 10:
    console.log('You have $10 or less USD');
    break;
  case < 50:
    console.log('You have $50 or less USD');
    break;
  case < 100:
    console.log('You have $100 or less USD');
    break;
  default:
    console.log('You are rich! Over $100);
    break;
}

如果这按我想要的方式工作,它会打印“你有 50 美元或更少美元”,因为钱是 < 50 但 > 10。

在此先感谢,拉奇。

标签: javascriptswitch-statement

解决方案


实际上有一个很好的方法可以做到这一点,注意switch(true)它将评估每个表达式。并不总是可读的,但很高兴知道。

const money = 200;

switch (true) {
  case money < 10:
    console.log('You have $10 or less USD');
    break;
  case money < 50:
    console.log('You have $50 or less USD');
    break;
  case money < 100:
    console.log('You have $100 or less USD');
    break;
  default:
    console.log('You are rich! Over $100');
    break;
}


推荐阅读