それが JavaScript オブジェクトです。それらはソートできません。
たとえば、要素をコード内に配置する順序に関係なく、オブジェクトをログに記録すると、Google Chrome はそれらを自動的に並べ替えます。
var obj = {
"0": 3900,
"1": 42,
"10": 135, // See? not sorted.
"2": 5,
"3": 20,
"4": 33,
"5": 24,
"6": 35,
"7": 56,
"8": 60,
"9": 147
}
for(key in obj){
console.log(key, obj[key]);
}
出力:
0 3900
1 42
2 5
3 20
4 33
5 24
6 35
7 56
8 60
9 147
10 135 // Suddenly, without our intervention, the object got sorted by the browser.
つまり、私が言おうとしているのは、ブラウザに依存するということです。オブジェクトを並べ替えることはできません。オブジェクトがどのように繰り返されるかは、ブラウザーの実装によって異なります。
さて、この特定のケースでは、キーは連番であるため、配列を使用する方が良いと思います。
var arr = [3900, 42, 5, 20, 33, 24, 35, 56, 60, 147, 135];
これには、オブジェクト ( ) にアクセスするのと同じ方法でアクセスできます。arr[5] == 24
また、追加のボーナスとして、.length
!