Skip to content

Instantly share code, notes, and snippets.

@christierney402
Last active January 13, 2021 12:21
Show Gist options
  • Save christierney402/5550678 to your computer and use it in GitHub Desktop.
Save christierney402/5550678 to your computer and use it in GitHub Desktop.
JS: Sort a JavaScript object by key in alphabetical order case insensitive. Thanks to Arne Martin Aurlien and Ivan Krechetov for inspiration. #snippet
/**
* Sort JavaScript Object
* CF Webtools : Chris Tierney
* obj = object to sort
* order = 'asc' or 'desc'
*/
function sortObj( obj, order ) {
"use strict";
var key,
tempArry = [],
i,
tempObj = {};
for ( key in obj ) {
tempArry.push(key);
}
tempArry.sort(
function(a, b) {
return a.toLowerCase().localeCompare( b.toLowerCase() );
}
);
if( order === 'desc' ) {
for ( i = tempArry.length - 1; i >= 0; i-- ) {
tempObj[ tempArry[i] ] = obj[ tempArry[i] ];
}
} else {
for ( i = 0; i < tempArry.length; i++ ) {
tempObj[ tempArry[i] ] = obj[ tempArry[i] ];
}
}
return tempObj;
}
@maksof-kashif
Copy link

// function
sortArr(a, b) {
var textA = a.keyName.toUpperCase();
var textB = b.keyName.toUpperCase();
return (textA < textB) ? -1 : (textA > textB) ? 1 : 0;
}

// calling function (here array is your array item)

array.sort(this.sortArr);

@shwao
Copy link

shwao commented Jul 22, 2020

const sortObjKeysAlphabetically = (obj) => Object.fromEntries(Object.entries(obj).sort());

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment