arr.sort()排序

来源:5-3 [JavaScript]数组方法(上)

良艺

2015-08-03 16:39

 arr.sort(function(a, b){ return a-b;});//可以实现对数字元素进行排序。sort()函数会两两进行比较按从小到大排序。问题:为什么return的是a-b?内部如何实现循环的?

写回答 关注

3回答

  • 觅心寒
    2015-08-03 16:52:34
    已采纳

    若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。

    若 a 等于 b,则返回 0。

    若 a 大于 b,则返回一个大于 0 的值。

    现在有 arr=[1,15,8,9,85]

    1-15 值为负,位置不变

    15-8 值为正,互换位置

    15-9 值为正,互换位置

    15-85 值为负,位置不变

    输出为[1,8,9,15,85]

    慕斯卡237...

    如果是[1,15,9,8,85]是什么情况

    2023-05-26 17:33:08

    共 2 条回复 >

  • 慕粉4146000
    2016-11-04 09:54:18
    • rftnhgnhgn

  • 北去
    2015-10-25 13:12:42

    为什么为正就互换位置啊?

JavaScript深入浅出

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

281111 学习 · 1020 问题

查看课程

相似问题