基于值对数组进行排序的最有效方法是什么。我有数组user_location_lat
的变量user_location_long
和store_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
找到数组中最接近的值?
答案 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);