Javascript: sort multidimensional array
location.sort(function(a,b) { // assuming distance is always a valid integer return parseInt(a.distance,10) - parseInt(b.distance,10);});
javascript's array.sort
method has an optional parameter, which is a function reference for a custom compare. the return values are >0
meaning b
first, 0
meaning a
and b
are equal, and <0
meaning a
first.
Have you tried this?
location.sort(function(a,b) { return a.distance - b.distance;});
Both sort functions posted so far should work, but your main problem is going to be using location
as a variable as it is already system defined.