我想确定一个值是否在一个范围内。
所有值均为度数(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);
}
如有必要,可以确定旋转方向。
答案 0 :(得分:2)
function isInRange(rotation, start, end){
return (rotation >= start && rotation <= end) || (rotation >= end && rotation <= start);
}
检查旋转是否在开始和结束之间,无论start
和end
中的哪一个更大。