使用模数确定值是否在范围内

时间:2015-05-28 12:02:26

标签: javascript modulus

我想确定一个值是否在一个范围内。

所有值均为度数(0 - 359),当end值小于start时(由于模360),这会导致问题。

我需要以下语句才能返回true:

isInRange(359 % 360, 359, 2); // Returns false
isInRange(180 % 360, 179, 182); // Returns true   
function isInRange(rotation, start, end){
    return (rotation >= start && rotation <= end);
}

如有必要,可以确定旋转方向。

1 个答案:

答案 0 :(得分:2)

function isInRange(rotation, start, end){
    return (rotation >= start && rotation <= end) || (rotation >= end && rotation <= start);
}

检查旋转是否在开始和结束之间,无论startend中的哪一个更大。