通常の配列
通常の配列はsort(),reverse()を使うべし。
var arr = [3,5,1,6,3,4,6,3,6,7,4]; alert(arr); //昇順 arr.sort(); alert(arr); //降順 arr.reverse(); alert(arr);
ハッシュをキーでソートする
//keyでソートする function keySort(hash,sort){ var sortFunc = sort || reverse; var keys = []; var newHash = {}; for (var k in hash) keys.push(k); keys[sortFunc](); var length = keys.length; for(var i = 0; i < length; i++){ newHash[keys[i]] = hash[keys[i]]; } return newHash; } //テストデータ var hash = { "e":55, "f":66, "g":77, "name":88, "a":11, "b":22, "c":33, "d":44 }; /* * テスト */ //元のハッシュ var str = "元のハッシュ\n"; for(var k in hash) str += "key:" + k + " val:" + hash[k] + "\n"; alert(str); //昇順(デフォルト)でソート hash = keySort(hash); str = "昇順\n"; for(var k in hash) str += "key:" + k + " val:" + hash[k] + "\n"; alert(str); //降順でソート hash = keySort(hash,"reverse"); str = "降順\n"; for(var k in hash) str += "key:" + k + " val:" + hash[k] + "\n"; alert(str);
コメントを残す