不明白升降序是什么原理,这么改一下也可以,为什么?

来源:7-22 数组排序sort()

qq_风_54

2015-11-08 16:21

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Array对象 </title>

<script type="text/javascript">

   function sortNum(b,a) {

       return a-b;

   }

var myarr = new Array("80","16","50","6","100","1");

document.write(myarr.sort(sortNum));

</script>

</head>

<body>

</body>

</html>

结果是100,80,50,16,6,1,为什么会这样

写回答 关注

2回答

  • mimaolu
    2015-11-08 20:41:25

    不明白?  这样写其实与原来的比较函数一样,只是现在的a和b指代的元素交换了。

    Troy有时...

    比如 80先和16比,再和50,6,100,1比,比他们小就换位置?接着第二个16和其他的比?一次往下?还是其他的方式,和那个冒泡排序一样还是怎么的?

    2015-12-01 16:43:09

    共 1 条回复 >

  • 李晓健
    2015-11-08 20:28:14

    其实就是根据 

    function sortNum(b,a) {

           return a-b;

       }

    这个方法的返回值还判断是升序还是降序,这里的返回值只有三种情况,等于0,大于0,小于0;

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

    若 a 等于 b,则返回 0。

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


    李晓健 回复Troy有时...

    你可以这么理解

    2015-12-01 16:56:45

    共 2 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468673 学习 · 21895 问题

查看课程

相似问题