【发布时间】:2015-02-28 05:36:50
【问题描述】:
var anArray = [ 5, 4, 8 , 1, 3] ;
anArray.sort(function (a,b){return a - b});
1) 谁能告诉我 JavaScript 将如何使用作为参数传递的函数执行排序方法?
它会将 5 与 4 进行比较,因为它是正数,所以 4 将在 5 之前。然后它将 5 与所有其他数字进行比较,但 1 和 3 也小于 5。那么 java 脚本如何知道要在哪个位置把它们放在5之前?
然后它将 4 与其他数字进行比较,将 8 与其他数字进行比较,等等... java脚本如何做到这一点?我想用笔和纸来做。
2) 为什么作为参数传递的函数是无名的?
谢谢。
【问题讨论】:
-
在大多数情况下使用更快的合并排序或快速排序(
nlogn运行时间).. -
Here is a Wikipedia article to get you started with how sorting works. JavaScript 使用的精确算法在规范中没有规定。
标签: javascript arrays sorting integer