Jef*_*eff 27 javascript sorting multidimensional-array
在创建这样的多维数组后,如何对其进行排序?
假设已经定义了"标记":
var location = [];
for (var i = 0; i < markers.length; i++) {
location[i] = {};
location[i]["distance"] = "5";
location[i]["name"] = "foo";
location[i]["detail"] = "something";
}
Run Code Online (Sandbox Code Playgroud)
对于上面的例子,我需要按'距离'排序.我已经看到了关于排序数组和多维数组的其他问题,但似乎没有一个适用于此.
lin*_*lnk 45
location.sort(function(a,b) {
// assuming distance is always a valid integer
return parseInt(a.distance,10) - parseInt(b.distance,10);
});
Run Code Online (Sandbox Code Playgroud)
javascript的array.sort方法有一个可选参数,它是自定义比较的函数参考.返回值>0意味着b第一,0这意味着a和b相等,<0这意味着a第一.
use*_*716 10
你试过这个吗?
location.sort(function(a,b) {
return a.distance - b.distance;
});
Run Code Online (Sandbox Code Playgroud)