JavaScript对象有没有秩序。即使大多数浏览器按照相同顺序迭代创建属性,但并不能保证,因此排序不支持对象。
这里看到更多的信息:Does JavaScript Guarantee Object Property Order?
您可能也有对此事的兴趣是什么John Resig has got to say。
如果需要排序能名单,你就必须把它存储为对象的数组:
var masterList = [
{ key: 1, val: "google" },
{ key: 2, val: "yahoo" },
{ key: 3, val: "msn" },
{ key: 4, val: "stackoverflow" },
{ key: 5, val: "github" },
{ key: 6, val: "jsfiddle" },
{ key: 7, val: "amazon" },
{ key: 8, val: "ebay" }
];
然后,对它们进行排序,只使用常规阵列的sort
方法:
masterList = masterList.sort(function (a, b) {
return a.val.localeCompare(b.val);
});
这里的小提琴:http://jsfiddle.net/ASrUD/
这篇文章会帮助你如何做到这一点,http://stackoverflow.com/questions/881510/json-sorting-in-jquery – Adil
尝试masterList.sort() –