我在找到關於如何對數組進行排序的各種示例,但沒有一個顯示如何使用數組。排序數組和循環數組
我正在使用google距離矩陣從一個來源檢索多個目的地的距離數據。我可以輸出目的地信息不是問題:
$.each(response.rows[0].elements, function(x, y) {
var distance = response.rows[0].elements[x].distance;
var distance_value = distance.value;
var distance_text = distance.text;
var miles = distance_text.substring(0, distance_text.length -3);
var milesInt = parseInt(miles);
$('#result').append(destination + " - " + miles + "<br>");
console.log(milesInt);
});
和我轉換爲英里串入一個int,因爲我認爲它會更容易進行排序,但它的內循環。
這裏是從每個位置API返回的數據的一個例子(有以下2個位置和予移除地址)
{
"rows": [
{
"elements": [
{
"distance": {
"text": "328 mi",
"value": 527479
},
"duration": {
"text": "4 hours 48 mins",
"value": 17299
},
"status": "OK"
},
{
"distance": {
"text": "327 mi",
"value": 525717
},
"duration": {
"text": "4 hours 54 mins",
"value": 17624
},
"status": "OK"
}
]
}
],
"originAddresses": [
"Texas, USA"
],
]
}
我可以排序在循環內部變量?
好,你能給我一個鏈接或什麼來備份你的投票嗎?我已經花了12個小時在谷歌研究這個,我還沒有發現任何有助於我的具體問題。 – JSum
'var sorted = rows.elements.sort((a,b)=> + a.distance.text.split('')[0] - + b.distance.text.split('')[0]) ;'。在空間上拆分距離文本,獲取結果數組的第一個元素,通過一元'+'運算符和bam轉換爲數字。這些都沒有任何困難,並且結構直接從'Array.prototype.sort'和'String.prototype.split'上的mdn文檔中提取出來。 –
[這裏](https://stackoverflow.com/questions/1129216/sort-array-of-objects-by-string-property-value-in-javascript)是[某些](https://stackoverflow.com/ questions/10003683/javascript-get-number-from-string)[different](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort)[links]( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split) –