A for (x in y)
не обрабатывает свойства в каком-либо конкретном порядке, поэтому вы не можете рассчитывать на любой требуемый порядок.
Если вам нужно обработать свойства в определенном порядке, вам нужно будет собрать все свойства в массив, отсортировать массив соответствующим образом и затем использовать эти ключи в нужном порядке.
Используя ES5 (или прокладку ES5), вы можете получить все свойства в массив с помощью:
var keys = Object.keys(obj);
Затем вы можете отсортировать их либо в стандартном лексическом порядке, либо отсортировать с помощью собственной пользовательской функции:
keys.sort(fn);
И тогда вы можете получить к ним доступ в нужном вам порядке:
for (var i = 0; i < keys.length; i++) {
// process obj[keys[i]]
}