Array.sort()在所有浏览器中的工作方式是否相同? [英] Does Array.sort() not work the same in all browsers?
问题描述
在尝试使用Array.sort(函数)时,我得到了不同浏览器的不同结果。怎么可能?难道我不应该期待相同的结果 -
给定输入数组和排序函数是相同的吗?怎么了?
在这里?
问候,
托马斯
While experimenting with Array.sort(function) I got different results from
different browsers. How can that be? Shouldn''t I expect identical results -
given both the input array and the sort function are identical? What''s wrong
here?
Greetings,
Thomas
推荐答案
>在尝试使用Array.sort(函数)时,我从
> While experimenting with Array.sort(function) I got different results from
不同的浏览器得到了不同的结果。怎么可能?难道我不应该期待相同的结果 -
考虑到输入数组和排序函数是相同的吗?这有什么问题?
different browsers. How can that be? Shouldn''t I expect identical results -
given both the input array and the sort function are identical? What''s wrong
here?
您认为可以与我们分享一个例子吗?
Do you suppose you could share an example with us?
同样出现道格拉斯·克罗克福德:
Also sprach Douglas Crockford:
你认为你可以与我们分享一个例子吗?
Do you suppose you could share an example with us?
当然:
< br $>
a = new Array(0,1,2,3,4,5,6,7,8,9);
a = a.sort(函数(a,b) ){return a + 3-b;});
t ='''';
for(i in a)t + = a [i];
alert(t);
IE5说1205643987
Mozilla说0142857639
Opera7说1052438769
为什么不同的浏览器会使用相同的代码给出不同的结果?
Sure:
a = new Array(0,1,2,3,4,5,6,7,8,9);
a = a.sort(function(a,b){return a+3-b;});
t='''';
for(i in a) t+= a[i];
alert(t);
IE5 says "1205643987"
Mozilla says "0142857639"
Opera7 says "1052438769"
So why do different browsers give different results with identical code?
> a = new Array(0,1,2,3,4,5,6,7,8,9);
> a = new Array(0,1,2,3,4,5,6,7,8,9);
a = a.sort(function(a,b){return a + 3-b;});
t ='''';
for(i in a)t + = a [i];
alert(t);
IE5说" 1205643987"
Mozilla的说" 0142857639"
Opera7说" 1052438769"
那么,为什么不同的浏览器得到具有相同的代码不同的结果
a = a.sort(function(a,b){return a+3-b;});
t='''';
for(i in a) t+= a[i];
alert(t);
IE5 says "1205643987"
Mozilla says "0142857639"
Opera7 says "1052438769"
So why do different browsers give different results with identical code?
你的比较函数是错误的,而不是排序。一致行动所需的功能是
,这样一个< b< c。
由于您的比较功能可以报告c< a,你在向
分拣机撒谎。结果的差异是由于实施的不同。
http:// www.crockford.com/
这篇关于Array.sort()在所有浏览器中的工作方式是否相同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!