javascript中数组的sort()方法的使用介绍

复制代码 代码如下:

  <html>

  <head>

  <title>数组的sort()方法</title>

  <script>

  /*

  sort()

  1、没有产生副本,直接引用原数组

  2、如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,

  说得更精确点,是按照字符编码的顺序进行排序。

  要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。

  3、如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,

  然后返回一个用于说明这两个值的相对顺序的数字。

  比较函数应该具有两个参数 a 和 b,其返回值如下:

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

  若 a 等于 b,则返回 0。

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

  */

  var arr = [2,4,8,1,22,3];

  var arrSort= arr.sort();//没有正确排序,数组先转化为字符串,然后再排序

  document.write("默认的排序数组为:" + arrSort);//1,2,22,3,4,8

  document.write("<br/>");

  //比较函数

  function mysort(a,b){

  return a-b;

  }

  var arrSort2 = arr.sort(mysort);//传入比较函数

  document.write("传入比较参数的数组为:" + arrSort2);//正确排序

  document.write("<br/>");

  document.write("原数组为:" + arr);

  </script>

  </head>

  <body>

  <div id="time"></div>

  </body>

  </html>