数组排序()

Zza*_*fdf 10 javascript

这部分来自"学习PHP,MySql和Javascript by.罗宾尼克松"这本书错了吗?

numbers = [7, 23, 6, 74];

numbers.sort(function(a,b){return a - b});
Run Code Online (Sandbox Code Playgroud)

输出为6,7,23,74

这本书说:

如果匿名函数内部排序()返回一个值大于零,那种假设一个到来之前b.

如果sort()中的匿名函数返回小于零的值,则排序假定ba之前.

排序在数组中的所有值上运行此函数以确定它们的顺序.

这是错的吗?因为....

a这里是7
b这里23

7 - 23 = -16//小于零的数字.书说它应该在a之前出现.

所以最终的输出应该是 74, 23, 7, 6

and*_*axo 5

看来这是错误的.来自MDN:

如果compareFunction(a,b)小于0,则将a排序为低于b的索引.

(在这种情况下,"较低指数"意味着a在b之前出现)