Object keys are not guaranteed to be ordered. Keys can be numerical or strings.
Object.keys(yourObject) returns an array of the keys on that object as strings.
On Chrome, Safari, Firefox, and in node.js if you create numerical keys on an object and return them with Object.keys(), they are all in lexicographical order. As long as the strings are representative of their literal versions (no leading 0's for example) then they are in numerical order.
What I am trying to answer is if Object.keys() guarantees the keys are returned in lexicographical order, or if this is simply an artifact of the defacto implementations in the popular browser/js environments.