解惑:js中为啥return a-b 是升序 b-a是降序呢?学到这块是在理解?

解惑:js中为啥return a-b 是升序 b-a是降序呢?学到这块是在理解?

阅读全文
请先 登录 后评论
  • 0 关注
  • 0 收藏 149 浏览
  • 略问用户 提出于 2021-07-21 14:42:08

11 个回答

xxxxxa
我很佩服掘友们的超强理解能力,我理了好久才理解了什么升序降序,捂脸,说实话,博主给了这点信息你们就能马上参透我是真的服!!!!
请先 登录 后评论
xxxxxa
高程上面说了采用了简单的什么排序规则什么鬼
请先 登录 后评论
xxxxxa
之前我跟你有同样的疑惑,但现在我觉得这只是ECMAScript对于compareFuction返回值的规范而已,各个厂商遵守就行了,所以纠结原因没啥意义。
请先 登录 后评论
xxxxxa
sort就是根据里面的值来排序的,每个浏览器的实现都不一样,不是正儿八经的冒泡排序,而且最后看的是数字而不是bool,[1,2,3].sort(()=>-1)=[3,2,1]
请先 登录 后评论
xxxxxa
可否先说下什么升序降序??
请先 登录 后评论
xxxxxa
虽然评论里给出了正确答案,但还是建议遇到这种问题先去查阅文档
请先 登录 后评论
xxxxxa
奇变偶不变,符号看象限~
请先 登录 后评论
xxxxxa
如果 compareFunction(a, b) 返回值小于 0 ,那么 a 会被排列到 b 之前;如果 compareFunction(a, b) 返回值大于 0 , 那么b 会被排列到 a 之前。 (a-b,如果a大于b则返回大于0的值,自然就是升序,同理)
请先 登录 后评论
xxxxxa
你写过冒泡算法没?我个人理解是a-b是左边的数字和右边比,比右边大就往右去,b-a就是右边的数字和左边比,比左边大就往左边去。希望有更好的答案,我也是结合冒泡自己理解的。
请先 登录 后评论
xxxxxa
可以把这看做一个函数: // true 的话就 调换 a,b 的位置 // false 就保持原样 function needExchange (a, b) { }
请先 登录 后评论