我有一个收藏。合集如下
X=[1940,1941,1943,1945,1978]
我想通过传递一些值从上述集合中找到最接近的值(例如:1944.578895)
因为1944.57889
它会回来1945
,因为1943.5
它会1943
像那样回来。集合“ X
”会有所不同,这意味着它也包含浮点数。
所以我想找到浮点集合以及数字集合的最接近值。
谢谢,
湿婆
我有一个收藏。合集如下
X=[1940,1941,1943,1945,1978]
我想通过传递一些值从上述集合中找到最接近的值(例如:1944.578895)
因为1944.57889
它会回来1945
,因为1943.5
它会1943
像那样回来。集合“ X
”会有所不同,这意味着它也包含浮点数。
所以我想找到浮点集合以及数字集合的最接近值。
谢谢,
湿婆
Javascript 中的所有数字都是浮点数,所以应该可以正常工作:
var theArray = [1940,1941,1943,1945,1978];
var goal = 1944.578895;
var closest = null;
$.each(theArray, function(){
if (closest == null || Math.abs(this - goal) < Math.abs(closest - goal)) {
closest = this;
}
});
您可以使用 Math.abs
Math.abs(this - goal) < Math.abs(closest - goal)
请参阅@Guffa 的完整示例: