UNPKG

json-ksort

Version:

json-ksort

31 lines (29 loc) 666 B
/** * @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); };