我在网页上有一个范围输入控件(我正在使用angularJS)。 我将步长设置为1,最大值为10,如下所示:
<input type="range" step="1" max="10" ng-model="question.score" ng-change="controller.arrangeFilters()" />
现在,它正在检查的模型可以具有任意数量的值,最多可达10个。例如:
var first = [3.333, 6.666, 10],
second = [2, 4, 6, 8, 10],
third = [1.666, 3.332, 4.998, 6.664, 8.330, 9.996];
所以,当滑块改变时,我需要检查它的值并找出它最接近数组中的哪个数字。 对于第一个数组,如果范围值为1,它将最接近3.33。 但是你也可以选择4,对于第一个数组来说,它仍然最接近3.33。 问题在于第二个数组,如果用户选择3,那么它距离2和4的距离相同。
因此,我的问题是,是否有一个函数可以检查两个数字之间的数字,并计算出它最接近哪个数字?如果可能的话,我希望它不会返回2个结果,这样它就会在第二个数组上选择2或4(就像四舍五入一样)。
希望这讲得清楚。