< BACK

Javascript tips, tricks and code snippets

Javascript: sort an object property by values

Adapted from this posting:

let maxSpeed = {
    car: 300, 
    bike: 60, 
    motorbike: 200, 
    airplane: 1000,
    helicopter: 400, 
    rocket: 8 * 60 * 60
};
let sortable = Object.keys(maxSpeed).map(vehicle => [maxSpeed[vehicle], vehicle]);
sortable.sort((a,b) => b[0] - a[0]);
//JSON.stringify(sortable, null, 2);
let sorted = {};
sortable.forEach(item => sorted[item[1]] = item[0]);
JSON.stringify(sorted, null, 2);

outputs

{
  "rocket": 28800,
  "airplane": 1000,
  "helicopter": 400,
  "car": 300,
  "motorbike": 200,
  "bike": 60
}