• 数组排序sort()


    sort()方法使数组中的元素按照一定的顺序排列。

    语法:

    arrayObject.sort(方法函数)

    1.如果不指定<方法函数>,则按unicode码顺序排列。

    2.如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。

    myArray.sort(sortMethod);

    注意: 该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下: 

      若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
      若返回值>-1 && <1,则表示 A 和 B 具有相同的排序顺序。
      若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。

    1.使用sort()将数组进行排序,代码如下:

    <script type="text/javascript">

      function sortNum(a,b) {
      return a - b;
     //升序,如降序,把“a - b”该成“b - a”
    }
     var myarr = new Array("80","16","50","6","100","1");
      document.write(myarr + "<br>");
      document.write(myarr.sort(sortNum));
    </script>

    运行结果:

    80,16,50,6,100,1
    1,6,16,50,80,100

    "80","16","50","6","100","1"
    return a-b;
    80-16=64; 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。 其实就像排队一样,个子小的往前站,小的数字代表矮个子
    排序结果:16,80,50,6,100,1
    80-50=30 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
    排序结果:16,50,80,6,100,1 接着拿16跟50比较大小,而不是80与6比较
    16-50=-34 若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。
    排序结果:16,50,80,6,100,1 程序接着运行
    80-6=74 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
    排序结果:16,50,6,80,100,1
    50-6=44 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
    排序结果:16,6,50,80,100,1
    16-6=10 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
    排序结果:6,16,50,80,100,1
    80之前的排队完成,80接着跟后面的比个子高低
    80-100=-20 若返回值<=-1,则表示 A 在排序后的序列中出现在 B 之前。 找到了比自己个子高的,就不用比了
    排序结果:6,16,50,80,100,1
    100-1=99 若返回值>=1,则表示 A 在排序后的序列中出现在 B 之后。
    排序结果:6,16,50,80,1,100
    80-1=79
    排序结果:6,16,50,1,80,100
    50-1=49
    排序结果:6,16,1,50,80,100
    16-1=15
    排序结果:6,1,16,50,80,100
    6-1=5
    排序结果:1,6,16,50,80,100
    排序完成,输出结果,即100,80,50,16,6,1

  • 相关阅读:
    面向对象三大特征------多态
    接口的概念
    面向对象(抽象类)
    面向对象三大特征------继承
    面向对象三大特征------封装
    成员变量和局部变量的区别
    20180822 ajax post 方式请求
    20180815 权限
    20180815 视图
    20180814 夜晚小目标
  • 原文地址:https://www.cnblogs.com/he-qiang/p/5542894.html
Copyright © 2020-2023  润新知