json-ksort
Version:
json-ksort
31 lines (29 loc) • 666 B
JavaScript
/**
* @param json_data
* @param type
* @returns {{}}
*/
function ksort(json_data, type) {
if (type == null) {
type = 'asc';
}
var json_tmp = {};
var keys = Object.keys(json_data).sort(function (a, b) {
if (a == b){
return 0
}else {
return (a>b)?(type=='asc'?1:-1):(type=='asc'?-1:1);
}
});
for (let i = 0; i < keys.length; i++) {
if (typeof json_data[keys[i]] == "object") {
json_tmp[keys[i]] = ksort(json_data[keys[i]], type);
} else {
json_tmp[keys[i]] = json_data[keys[i]];
}
}
return json_tmp;
}
module.exports = function (json_data, sort_type) {
return ksort(json_data, sort_type);
};