@enonic/js-utils
Version:
Enonic XP JavaScript Utils
26 lines (25 loc) • 578 B
JavaScript
// object/sortKeysRec.ts
var { isArray } = Array;
var { keys } = Object;
function sortKeysRec(obj) {
if (isArray(obj)) {
const newArray = [];
for (let i = 0, l = obj.length; i < l; i++) {
newArray[i] = sortKeysRec(obj[i]);
}
return newArray;
}
if (typeof obj !== "object" || obj === null) {
return obj;
}
const sortedKeys = keys(obj).sort();
const newObject = {};
for (let i = 0, l = sortedKeys.length; i < l; i++) {
const k = sortedKeys[i];
newObject[k] = sortKeysRec(obj[k]);
}
return newObject;
}
export {
sortKeysRec
};