IE9 の並べ替え順序は、比較関数が返されるときに要素の順序を変更していることに気付きました0
。
見る:
var myarray=[
{id:1,val:0},
{id:2,val:0},
{id:3,val:7},
{id:4,val:41}
];
myarray.sort(function(a,b){return a.val - b.val});
for(var i in myarray)
{
console.log(myarray[i].id);
}
Chrome、Firefox、Opera、および Safari の現在の安定バージョンでは、次の出力が得られました: 1 2 3 4
.
IE7 と IE8 で同じ出力。
IE9 の出力は次のとおりです。2 1 3 4
なんで?それは正常ですか?