您可以在鍵值對複製到對象的數組然後使用Array.sort將它們按順序排列。
// $.getJSON(url, addPages); //removed for test purposes
function addPages(pageData) {
var pageItems = [];
$.each(pageData, function(key,value){
pageItems.push({ key: key, value: value });
});
// Assuming you can do arithmetic on timestamps
pageItems.sort(function(a,b){ return a.value.timeStamp - b.value.timeStamp; });
$.each(pageItems, function(index,pageItem){
alert(pageItem.key+' : '+pageItem.value.timeStamp);
});
}
我的測試腳本:
var testData = {
'12': { timeStamp: 55 },
'16': { timeStamp: 655 },
'123': { timeStamp: 455 },
'312': { timeStamp: 955 },
'132': { timeStamp: 255 },
'126': { timeStamp: 455 },
'162': { timeStamp: 355 }
};
addPages(testData);
下面是關於Chrome的問題鏈接:http://code.google.com/p/v8/issues/detail?id=164 – 2011-02-01 00:26:22
任何爲什麼選擇[k,v]元組超過{k:v}對象? – Raynos 2011-02-01 00:26:45