根据值

时间:2017-03-06 14:46:38

标签: jquery arrays sorting

基于值对数组进行排序的最有效方法是什么。我有数组user_location_lat的变量user_location_longstore_locations togheter。

我的变量用户位置(例如)此值:lat 45.222123123 / long 54.5589858数组看起来像这样:

id: 4, lat: 43.22243243, longi: 52,342234
id: 5, lat: 45.22243243, longi: 65,432432
id: 8, lat: 77.22243243, longi: 77,555324

etc.

我知道如何根据数组中的值对数组进行排序。但不是我如何根据数组外的值对它们进行排序。

如何通过user_location找到数组中最接近的值?

编辑:是否有可能根据纬度和长度获得最近的位置?请参阅上面的编辑。

1 个答案:

答案 0 :(得分:1)

var latArray = [43.22243243, 45.22243243, 77.22243243]
var myLat = 45.222123123;

var closest = latArray.reduce(function (prev, curr) {
  return (Math.abs(curr - myLat) < Math.abs(prev - myLat) ? curr : prev);
});

console.log(closest);

来源:get closest number out of array