不明白sort()

不明白sort()

a和b两个的比较,a、b比较跟数字排序有什么关系呢?不明白,我可以用数字替代吗,比如1和2替代a和b吗?

正在回答

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

2回答

a,b是指sort中匿名函数的两个参数,在匿名函数体内需要添加自定义的排序规则,返回值有三种类型,小于0,大于0,等于0。

arr.sort(function(a, b){

return a - b;  //升序

return b - a;  //降序

});

JavaScript会将数组元素当做参数传入匿名函数中进行比较,根据比较结果进行排序。


默认的sort函数排序规则是比较数组元素首字符的ASCII码。


参考:[JavaScript sort()方法](http://www.w3school.com.cn/jsref/jsref_sort.asp)


再来回答您的问题,a、b与数字排序的关系,

数字排序有两种情况,一是默认的排序规则,JavaScript依据数组元素首字符的ASCII码的大小进行排序。

二是自定义排序规则,以匿名函数作为参数传入sort()函数中,匿名参数带有两个参数a,b,分别代表数组中需要比较的数组元素。


是否可以用数字代替,不可以。


如果我的答案对您有所帮助,请采纳。


山河远阔ZZ 2018-12-29 10:57:39

同学你好,sort()是一个封装好的排序方法,里面匿名函数的参数不能使用数字来命名,但是可以更换成其他的英文字符,默认第一个参数减第二个参数是升序,第二个参数减第一个参数是降序,同学能够正常使用即可。

希望解答了你的疑问,祝学习愉快,望采纳!

  • 提问者 你的粉丝_啊德 #1
    那a和b的比较为什么是用-,而不是< >号呢?
    2018-12-29 11:39:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

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

在线咨询

领取优惠

免费试听

领取大纲

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