Javascript 整数数组的排序方法是如何工作的?JS
1) 有人能告诉我JavaScript将如何使用作为参数传递的函数执行sort方法吗Javascript 整数数组的排序方法是如何工作的?JS,javascript,arrays,sorting,integer,Javascript,Arrays,Sorting,Integer,1) 有人能告诉我JavaScript将如何使用作为参数传递的函数执行sort方法吗 它会比较5和4,因为它是正的,4在5之前。然后它会将5与其他数字进行比较,但1和3也小于5。那么java脚本如何知道将它们放在5之前的位置呢 然后将4与其他数字进行比较,8与其他数字进行比较,等等。。。 java脚本是如何做到这一点的?我想用笔和纸做这件事 2) 为什么作为参数传递的函数是匿名的 多谢各位 比较器函数的调用方式(即传入的值序列)并不由语言规范定义。它完全取决于特定的JavaScript实现,
- 它会比较5和4,因为它是正的,4在5之前。然后它会将5与其他数字进行比较,但1和3也小于5。那么java脚本如何知道将它们放在5之前的位置呢
- 然后将4与其他数字进行比较,8与其他数字进行比较,等等。。。 java脚本是如何做到这一点的?我想用笔和纸做这件事
该函数应返回一个负值、零值或正值,这表明两个数字的顺序应为第一个先到,或者两个数字中的任何一个都可以先到,或者第二个应该放在第一位。一个快速的方法是从第一个数字中减去第二个数字
在大多数情况下,使用合并排序或快速排序,这两种排序速度更快(
nlogn
运行时间)。。规范中没有规定用于JavaScript的精确算法。
var anArray = [ 5, 4, 8 , 1, 3] ;
anArray.sort(function (a,b){return a - b});