当比较函数返回时,我注意到 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
为什么?这正常吗?