javascript - 如何使用 if else 语句为变量赋值
问题描述
我正在尝试使用 if else 语句为变量赋值,但无法使其工作。有人可以帮助我吗?还是有更优雅的方法来实现这一目标?
(function(){
var func1 = function () {
if (field1 >= 1) && (field1 <= 2) {return "A";}
else if (field1 >= 3) && (field1 <= 4) { return "B"; }
else if (field1 >= 5) && (field1 <= 6) { return "C"; }
else {return "D";}
}
return func1;
})()
解决方案
与Math.floor()
.
将a和b之间的每个数字都Math.floor()
设为a。
例子
const val = 3.3;
// arr[0] -> 1 <= val < 2
// arr[1] -> 2 <= val < 3
// arr[2] -> 3 <= val < 4
// ...
const arr = ["A", "B", "C", "D", "E", "F"];
function getResult(val) {
const floored = Math.floor(val);
// Index starts with 0 -> floored - 1
return arr[floored - 1] || "G";
}
console.log(getResult(val));
推荐阅读
- python - How can I get all the index of all the NaNs of a list?
- go - 从指针接口获取结构的大小
- laravel - Laravel 5.8 工厂状态无法找到名称为 [默认] [CLASS] 的工厂
- c - 使用 g++ 编译时如何修复 structmember.h 中的错误
- selenium - 如何使用 xpath 匹配 div 元素中的文本?
- php - 当我希望仅在第一个条件为真时才调用函数时,将函数作为 IF 的第二个条件传递是否安全?
- swift - 使用 Perfect-Markdown,表格不会像 GitHub 的 UI 那样呈现
- python - 如何自动化 SARIMA 模型进行时间序列预测?
- python - 在大文件中搜索文本并将结果写入文件
- python - 有条件的 while 循环没有正确反应