我在找到关于如何对数组进行排序的各种示例,但没有一个显示如何使用数组。排序数组和循环数组
我正在使用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) –