IF语句650需要缩短
Endless JavaScript ELSE IF statement 650 Need shortening
我需要修改一些在我使用的程序中运行的脚本。
脚本只在带有X &Y轴。每当切换到新图表时,脚本将运行所有语句,直到找到与图表匹配的Symbol/name,然后加载行。
我使用永不结束的"if else语句"使事情对我来说尽可能简单。我有650个if else语句,每个语句包含数百个"addlines"。
符号名称之间没有关系,除了字母表中的字母。符号中包含的所有价格/数字都是随机的。
但是我正在寻找一个更好的解决方案,使它运行得更快,更有效,而不是有650个else if语句。我知道我用的命令不一样,我只是概括一下。我希望有人能帮忙。
将Else if语句乘以650,即有多少条。
var Symbol
if (Symbol == "AAB") {
addline(37.5);
addline(40.9);
addline(15.5);
addline(100.5);
etc....
} else if (Symbol == "ZOB") {
addline(15.8);
addline(20.9);
addline(100.5);
addline(200.5);
etc....
} else if (Symbol == "STX") {
addline(10.9);
addline(19.8);
addline(5.5);
addline(20.2);
etc....
} else if (Symbol == "AXI") {
addline(200);
addline(20);
addline(5.9);
addline(9.9);
etc....
} else if (Symbol == "AXI") {
ETC.....
}
return;
}
可以使用map:
var SymbolMap = {
AAB: [37.5, 40.9, 15.5, 100.5],
ZOB: [15.8, 20.9, 100.5, 200.5],
STX: [10.9, 19.8, 5.5, 20.2],
AXI: [200, 20, 5.9, 9.9],
// ...
};
var symbol = 'AAB';
SymbolMap[symbol].forEach(function(x) {
addline(x);
});
您可以这样更改它,这样可能会执行得更好,并且更容易管理。
var Symbol = 'AAB';
var Symbols = {};
Symbols.AAB = [37.5, 40.9, 15.5, 100.5];
Symbols.ZOB = [15.8, 20.9, 100.5, 200.5];
Symbols.STX = [10.9, 19.8, 5.5, 20.2];
Symbols.AXI = [200, 20, 5.9, 9.9];
for(var x = 0; x < Symbols[Symbol].length; x++) {
addline(Symbols[Symbol][x]);
}
无论你是否有意识地打算它,使用Java
标签是一个好主意,因为我认为你最好的选择是创建一个REST服务,它接受一个符号名称并返回一个JSON结构的值,你的JS代码可以调用addline()
。
所以你可能会调用'YourWebApp'GetLines?Symbol=AAB
, JSON响应可能看起来像:
{
"lines": ["37.5", "40.9", "15.5", "100.5", ...]
}
然后可以遍历lines
数组并对addline()
进行适当的调用。
if-else
语句的状态可能是不是的好做法。我认为,如果可能的话,最好将业务逻辑保留在服务器端。
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 如何在 API 调用后和 if 语句中启用提交按钮
- 带有多个elseif的Javascript if语句
- Sharepoint JScript if语句未执行
- Javascript:If-then语句在函数中不起作用
- for循环中的javascript if语句找不到==
- jquery if语句返回return wong语句
- 在if语句下的html中使用javascript变量
- 将错误与if语句混淆
- 如何检查if/else语句中的随机条件
- 循环通过数组的If语句不起作用
- jQuery模板中的If语句
- 如何从数据库中回显If语句
- 如何减少if语句的数量
- Node.js-承诺和锥形语句(if、switch等)-如何构建
- 如何在嵌套ng重复指令中使用控制语句(if语句)
- 如何创建语句if包含"&"
- If语句- If主体有一个类remove在滚动原生javascript
- Javascript中的if语句- if - else问题