sort()如何在JavaScript中工作?
可能重复:sort()如何在JavaScript中工作?,javascript,Javascript,可能重复: 我想知道.sort()在JavaScript中是如何工作的。它使用什么算法 function sortNumber(a, b) { return a-b; } var n = ["1", "5", "40", "2", "9", "3"]; document.write(n.sort(sortNumber)); 在Firefox4中,元素被转换成数字并按这种方式排序。 在您的情况下,这是升序 到目前为止,我没有在其他浏览器中测试它。这个问题得到了回答 Mozilla使用合
我想知道
.sort()
在JavaScript中是如何工作的。它使用什么算法
function sortNumber(a, b) {
return a-b;
}
var n = ["1", "5", "40", "2", "9", "3"];
document.write(n.sort(sortNumber));
在Firefox4中,元素被转换成数字并按这种方式排序。 在您的情况下,这是升序
到目前为止,我没有在其他浏览器中测试它。这个问题得到了回答 Mozilla使用合并排序,Webkit使用选择排序,IE是封闭源代码,很难说
语言规范对实现使用的算法没有任何要求,您的代码也不应该太在意它。100元素测试数组的比较次数: 狩猎5-541
歌剧11.10-586
Firefox 4-601
IE 9-618
铬9-783 对于1000单元测试阵列: Safari 5-8700
Firefox 4-8998
歌剧院11.10-9137
IE 9-11055
铬9-11536
它没有描述算法,但仍然显示了一些有趣的数据。我为您修复了格式。下次请使用预览窗格。“如何
.sort()
工作”以何种方式?它分类。精确算法可能由实现定义。你还想知道什么?嗨,托玛拉克,谢谢你做格式化。我想知道.sort()函数使用的是哪种算法。那么你的问题是重复的。元素不会转换成数字。元素不会改变。表达式a-b
计算数值结果,仅此而已。