Skip to content

Instantly share code, notes, and snippets.

@deansimcox
Last active February 21, 2025 07:45
Show Gist options
  • Save deansimcox/4640a44fb56412cb12efd6626e71faa7 to your computer and use it in GitHub Desktop.
Save deansimcox/4640a44fb56412cb12efd6626e71faa7 to your computer and use it in GitHub Desktop.
JS Sorting
const jsObjectToSort = {b: 2, c: {d: 4, a: 0}, a: 1};
// Recursively sort js object keys
function sortObjectByKey(obj) {
let sortedObj = {};
Object.keys(obj).sort().forEach(key => {
sortedObj[key] = (typeof obj[key] === 'object' && !Array.isArray(obj[key])) ? sortObjectByKey(obj[key]) : obj[key];
});
return sortedObj;
}
sortObjectByKey(jsObjectToSort);
// One-liner (not recursive)
Object.fromEntries(Object.entries(jsObjectToSort).sort());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment