我試圖理清我的哈希表按字母順序排列的下拉菜單...使用此功能:JavaScript的排序OBJ改變編號的
function getSortedKeys(obj) {
var keys = [];
for(var key in obj) {
keys.push(obj[key]);
keys[keys.length-1]['key'] = key;
}
return keys.sort(function(a,b){
return a.name > b.name ? 1 : a.name < b.name ? -1 : 0;
});
}
這個排序下拉菜單......雖然它的變化我的菜單項的原始ID#螺絲一些東西在我的網站...是否有可能保持每個菜單項的原始ID#仍然排序?
sorry..here的哈希碼:
var clientProjectsHash = {};
clientProjectsHash['1'] = {};
clientProjectsHash['1']['name'] = 'RONA';
clientProjectsHash['2'] = {};
clientProjectsHash['2']['name'] = 'CMS';
clientProjectsHash['3'] = {};
clientProjectsHash['3']['name'] = 'ALT';
和getSortedKeys被稱爲:
function getInitialClient() {
clientProjectsHash = getSortedKeys(clientProjectsHash);
for (clientKey in clientProjectsHash) {
if(clientKey > 0) {
return clientKey;
}
}
}
這是不應該改變的ID,有沒有更多的代碼? ID是否動態生成? – casraf
你唯一要改變的是這行:'keys [keys.length-1] ['key'] = key;'。這與「身份證」有什麼關係?如果不是,請詳細說明您的問題。 –
你在說什麼「id」? 'obj'看起來像什麼?當你對一個數組進行排序時,這些值可能會以新的鍵結束(因爲它們可能處於新的位置)。 –