私はハッシュテーブルのプルダウンメニューをアルファベット順に並べ替えようとしています...この関数を使用しています:
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# を保持したまま並べ替えることは可能ですか?
申し訳ありません..ハッシュコードは次のとおりです。
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;
}
}
}