配列としてではなくopt_array
、オブジェクトとして使用しています。
オブジェクトのプロパティは JavaScript では順不同であり、特定の順序で配置することはできません。
唯一の時間順序は、配列を配列として使用し、数値文字列である配列「インデックス」を使用している場合です。(はい、本当に. 数値として書きがちですが、実際にはプロパティ名であり、プロパティ名は常に文字列です。)
すべてのプロパティ名をopt_array
配列として取得し、並べ替えてからループして出力を生成できます。例えば:
var index;
var names = Object.keys(opt_array);
names.sort();
for (index = 0; index < names.length; ++index) {
console.log(names[index] + ": " + opt_array[names[index]]);
}
(それはObject.keys
、すべてのブラウザーに存在しないES5機能である を使用します。以前のブラウザー用にシムすることができます。)
または、必要に応じて、オブジェクトの配列を持ち、それらのオブジェクトのプロパティで配列を並べ替えることができます。
opt_array = [
{key: "wta", value: 23},
{key: "cdp", value: 54},
{key: "cdm", value: 54},
{key: "ppv", value: 44}
];
opt_array.sort(function(a, b) {
var rv;
if (a.key < b.key) {
rv = -1;
}
else if (a.key > b.key) {
rv = 1;
}
else {
rv = 0;
}
return rv;
});
しかし、それはあなたが何のために使用していても役に立たないかもしれませんopt_array
.