根据定义,键在对象中的顺序是未定义的
,因此您可能无法以适应未来发展的方式进行操作。相反,您应该考虑在实际向用户显示对象时对这些键进行排序。无论它在内部使用什么排序顺序都没有关系。
按照惯例,大多数浏览器将按添加键的顺序保留对象中键的顺序。因此,您可以执行此操作,但不要期望它始终有效:
function sortObject(o) { var sorted = {}, key, a = []; for (key in o) { if (o.hasOwnProperty(key)) { a.push(key); } } a.sort(); for (key = 0; key < a.length; key++) { sorted[a[key]] = o[a[key]]; } return sorted;}


