function get_map_zoom_level(distance) {
var zoom = 1;
if (distance == 0)
zoom = 11;
else if (distance == 1)
zoom = 15;
else if (distance > 880 && distance <= 1760)
zoom = 14;
else if (distance > 1760 && distance <= 3520)
zoom = 13;
else if (distance > 3520 && distance <= 7040)
zoom = 12;
else if (distance > 7040 && distance <= 14080)
zoom = 11;
else if (distance > 14080 && distance <= 28160)
zoom = 10;
else if (distance > 28160 && distance <= 56320)
zoom = 9;
else if (distance > 56320 && distance <= 112640)
zoom = 8;
else if (distance > 112640 && distance <= 225280)
zoom = 7;
else if (distance > 225280 && distance <= 450560)
zoom = 6;
else if (distance > 450560 && distance <= 889120)
zoom = 5;
else if (distance > 889120 && distance <= 1718240)
zoom = 4;
else if (distance > 1718240)
zoom = 3;
return zoom;
}
我想知道在这段代码中是否有任何方法可以避免很多if else。 基本上我想根据距离找出缩放级别,这段代码运行良好,但我需要一些更好的方法来做到这一点。
最佳答案
这应该有效:
function get_map_zoom_level(distance) {
var zoom = 15;
var temp=880;
if (distance == 0)
zoom = 11
while (distance > temp){
temp=temp*2;
zoom--;
}
return zoom;
}
关于javascript - 在代码中避免使用 if else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37588999/