javascript – 数字数组sort()

这部分是从书“学习 PHP,MysqLJavascript by.罗宾尼克松”的错误
numbers = [7,23,6,74];

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

产量为6,7,74

这本书说:

If the anonymous function inside sort() returns a value greater than zero,the sort assumes a comes before b.

If the anonymous function inside sort() return a value less than zero,the sort assumes b comes before a.

The sort runs this function across all the values in the array to determine their order.

这是错的吗因为….

这里是7
这里是23

7 – 23 = -16 //小于零的数字.书中说b应该在a之前.

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

解决方法

看来这是错误的.从 MDN

If compareFunction(a,b) is less than 0,sort a to a lower index than b.

(在这种情况下,“较低的指数”将意味着a来到b)

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...