首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数字数组排序()

数字数组排序()
EN

Stack Overflow用户
提问于 2012-07-06 18:25:24
回答 2查看 235关注 0票数 10

这本书“学习PHP,MySql和Javascript”中的这部分是错的吗?

代码语言:javascript
运行
复制
numbers = [7, 23, 6, 74];

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

产出6,7,23,74

书上说:

如果sort()中的匿名函数返回大于零的值,则排序假定a位于b之前。 如果sort()中的匿名函数返回小于零的值,则排序假定b先于a。 排序在数组中的所有值中运行此函数以确定它们的顺序。

这样做不对吗?因为..。

a这里是7

b这里是23

7 - 23 = -16 // a数小于零。书上说它应该放在a之前。

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

EN

回答 2

Stack Overflow用户

发布于 2012-07-06 18:29:47

看来这是错误的。来自MDN

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

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

票数 5
EN

Stack Overflow用户

发布于 2012-07-06 18:30:19

输出是正确的,但解释不是正确的。如果该方法返回< 0,则a位于b之前。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11367697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档