簡體   English   中英

按第一個鍵值對javascript數組排序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM