[英]Sorting javascript array by first key value
我正在做一個小項目,遇到了一些人可能很容易解決的難題。 我需要對一個數組進行排序,該數組包含一個浮點值(從A點到B點的距離)和一個地址字符串。 如果我的數組中沒有字符串,則使用array.sort(function(a,b){return ab})
可以很好地對數組進行排序array.sort(function(a,b){return ab})
但是當我添加字符串值時,它將無法正確排序。
這是我的代碼:
<script type="text/javascript">
var data = <?php echo json_encode($corodinates); ?>;
var nearest = new Array();
for (var i = 0; i < 420; i++)
{
var markers = [(data.Latitude[i]), (data.Longitude[i])];
var userLocation = new google.maps.LatLng(42.4999923706, -96.4003067017);
var dealerLocation = new google.maps.LatLng(markers[0], markers[1]);
var distance = google.maps.geometry.spherical.computeDistanceBetween(userLocation, dealerLocation);
nearest[i] = [(distance/1609.344), (data.Address[i])];
}
nearest.sort(function(a,b){return a-b});
</script>
這是我的數組的樣子:
0: 482.5813729353341
1: "10940 S Parker Road #723"
我需要它按0鍵中的float值排序。
您只需要進入array元素中的數組即可獲取距離值並在sort回調中使用它們:
nearest.sort(function(a,b){return a[0]-b[0]});
nearest.sort(function(a,b){return a[0]-b[0]});
像這樣
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.