整数数组的排序方法如何工作? JS

How the sorting method of integer array works ? JS

var anArray = [ 5, 4, 8 , 1, 3] ; 

anArray.sort(function (a,b){return a - b}); 

1) 有人可以告诉我 JavaScript 如何使用作为参数传递的函数执行排序方法吗?

2) 为什么作为参数传递的函数是无名的?

谢谢。

  1. 比较器函数的具体调用方式——即传入值的顺序——并未由语言规范定义。它完全取决于特定的 JavaScript 实现和(可能)正在排序的数组中的值。只要说排序算法在想要比较两个数字时调用您的函数就足够了,仅此而已。

    该函数预期 return 一个负值、零或positive,表示两个数的排序应该是第一个在前,要么可以在前,要么应该是第二个在前。一个快速的方法是从第一个数中减去第二个数。

  2. 您的示例代码中的函数是一个匿名函数。它不需要名称,因为它将作为函数调用本身的结果绑定到接收函数中的符号。如果需要,您可以为函数命名。