2-12 第四道 排序选择题的疑惑

2-12 第四道 排序选择题的疑惑

  1. 为什么 arr.sort(function(a,b){return b-a});决定的是降序排列,而arr.sort(function(a,b){return a-b}); 决定的是升序排列?

  2. 当function(a,b)中,如果所传递的第一个参数比第二个参数小,则返回值为负值;如果两个参数相等,则返回值为零;如果第一个参数比第二个参数大,则则返回值为正值。返回值的大小是否也决定着数组的前后元素的大小?以及返回值的大小与数组排序之间的关系?


http://img1.sycdn.imooc.com//climg/5a9f897400012f3405000079.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
小于飞飞 2018-03-07 15:11:50

这是sort() 函数本身规定,在JS语言开发该函数内部遵循相应排序规定,这属于深入原理,掌握方法意思及应用。

第一个问题:

若返回值为负,则表示 x 在排序后的序列中出现在 y 之前。

若返回值为 0,则表示 x 和 y 具有相同的排序顺序。

若返回值为正,则表示 x 在排序后的序列中出现在 y 之后。

arr.sort(function(x,y){return y-x}); 降序排列 ,x-y 升序排列.

第二个截图:

sort方法里的函数是比较函数,会比较两个值,如果x小于y那么就是降序排列,如果x大于y,那么就是升序排列。

祝学习愉快!


  • 提问者 有礼彬 #1
    谢谢老师,通过查看‘’数组的排序方法-sort(教辅)文档 ”,瞬间理解了
    2018-03-07 16:44:54
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

JavaScript基础入门 2018
  • 参与学习       547    人
  • 提交作业       206    份
  • 解答问题       640    个

JavaScript作为前端学习中的一个重要组成部分,本课程将带领你从最基础的语法开始,学习js的流程控制语句、函数、内置对象、DOM基础、DOM事件、BOM基础以及经典的js案例--轮播图。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师