问答详情
源自:5-3 [JavaScript]数组方法(上)

arr.sort()排序

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

提问者:良艺 2015-08-03 16:39

个回答

  • 觅心寒
    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]

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

    • rftnhgnhgn

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

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