Tro*_*708 -1 javascript iteration if-statement control-structure switch-statement
我需要修改一些在我使用的程序中运行的脚本.
脚本仅在具有X和Y轴的图表上以特定价格绘制水平线.每当我切换到新图表时,脚本将遍历所有语句,直到它到达与图表匹配的符号/名称,然后它将加载行.
我正在使用永无止境的"if else声明"来为我做一些尽可能简单的事情.我有650 if else语句,每个语句包含数百个"addlines".
符号名称之间没有关系,除了字母表中的字母.符号包含的所有价格/数字都是随机的.
但我正在寻找一个更好的解决方案,使其运行速度更快,效率更高,而不是使用其他650个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;
}
Run Code Online (Sandbox Code Playgroud)
你可以使用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);
});
Run Code Online (Sandbox Code Playgroud)