javascript - 切换<或>值大小写
问题描述
我只是想知道是否有办法让这种事情在 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。
在此先感谢,拉奇。
解决方案
实际上有一个很好的方法可以做到这一点,注意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;
}
推荐阅读
- javascript - React Native 中的领域
- c# - 基于属性/参数的通用列表/字典
- google-maps - 目标:在主页上创建一个表单,将结果传递到带有谷歌地图的登录页面,该地图根据表单输入过滤地图
- python-3.x - 由于 python 版本,运行 PySpark DataProc Job 时出错
- ckeditor - CKEditor 不加载实体插件
- python - 如何强制将我的所有值从 uint8 转换为 int 而不是 int64
- c# - Entity Framework Core - 派生类的多个鉴别器
- sql - 创建表时出现意外的数据类型
- r - Shiny flexdashboard 中的 facet_grid 给出错误“构面变量必须至少有一个值”
- scala - Apache Flink 中的流式预测