0

我有一个收藏。合集如下

X=[1940,1941,1943,1945,1978]

我想通过传递一些值从上述集合中找到最接近的值(例如:1944.578895

因为1944.57889它会回来1945,因为1943.5它会1943像那样回来。集合X会有所不同,这意味着它也包含浮点数。

所以我想找到浮点集合以及数字集合的最接近值。

谢谢,

湿婆

4

2 回答 2

2

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;
  }
});

来源https://stackoverflow.com/a/8584929/390330

于 2013-04-29T06:48:25.467 回答
1

您可以使用 Math.abs

 Math.abs(this - goal) < Math.abs(closest - goal)

请参阅@Guffa 的完整示例:

使用 jquery,我将如何在数组中找到与指定数字最接近的匹配项

于 2013-04-29T06:48:35.560 回答