计算我应该去哪个方向

时间:2014-09-25 17:40:45

标签: javascript

我有一个包含2个参数FROMTO的函数。 TO只能是090180270FROM可以是0360之间的某个数字。

  • 如果FROMTO相同,则应返回该号码。
  • 如果FROM例如181而TO是0则返回181+1
  • 但如果FROM 179返回179-1

给定360°,计算从FROMTO的最短方向。

如何在没有百行if和else的情况下编写此函数。

nearestPath: function(from ,to){
        to = to%360;
        from = from%360;
        if(from == to){
            return to;
        }else{
            // Calculate increment or decrement..
        }

    }

1 个答案:

答案 0 :(得分:0)

这样的事情:



function calc(from, to) {
    from = from%360;
    to = to%360;
    if (from === to) {
        return from;
    }
    var d = from - to - 180;
    if (d > 0 || d < -180) {
        return ++from;
    }
    return --from;
}

var to = +prompt("TO");
var from = +prompt("FROM");

alert(calc(from,to));
&#13;
&#13;
&#13;