Js中sort()方法的用法

  返回一个元素已经进行了排序的 Array 对象。

  arrayobj.sort(sortfunction)

  参数

  arrayObj

  必选项。任意 Array 对象。

  sortFunction

  可选项。是用来确定元素顺序的函数的名称。如果这个参数被省略,

  那么元素将按照 ASCII 字符顺序进行升序排列。

  说明

  sort 方法将 Array 对象进行适当的排序;

  在执行过程中并不会创建新的 Array 对象。

  如果为 sortfunction 参数提供了一个函数,那么该函数必须返回下列值之一:

  负值,如果所传递的第一个参数比第二个参数小。

  零,如果两个参数相等。

  正值,如果第一个参数比第二个参数大。

  Demo1(默认按字母排序):

  

复制代码 代码如下:
<script language="javascript">

  var nameArr = new Array("douguoqiang","hedan","redhacker","panliu888","maxuan","xuejianping","lanse","zhangsan","lisi","wangwu");

  nameArr.sort();

  for (var i = 0; i < nameArr.length; i++) {

  document.writeln(nameArr[i]);

  }

  </script> 

  结果:douguoqiang hedan lanse lisi maxuan panliu888 redhacker wangwu xuejianping zhangsan

  Demo(数字排序,sort(prama)方法带参数):

  

  

复制代码 代码如下:
<script>

  var numArr = new Array(12,23,1,4,23,34,2,5);

  numArr.sort(function compare(a,b){return a-b;});

  for (var i = 0; i<numArr.length; i++) {

  document.write(numArr[i] +"<br>");

  }

  </script> 

  结果:

  1

  2

  4

  5

  12

  23

  23

  34

  Demo3(Demo3反排序):

  

  

复制代码 代码如下:
<script>

  var numArr = new Array(12,23,1,4,23,34,2,5);

  numArr.sort(function compare(a,b){return b-a;});

  for (var i = 0; i<numArr.length; i++) {

  document.write(numArr[i] +"<br>");

  }

  </script> 

  结果:

  34

  23

  23

  12

  5

  4

  2

  1

  Demo4(Demo3的第二种写法):

  

复制代码 代码如下:
<script>

  var numArr = new Array(12,23,1,4,23,34,2,5);

  numArr.sort(new Function("a","b","return a-b;"));

  for (var i = 0; i<numArr.length; i++) {

  document.write(numArr[i] +"<br>");

  }

  </script> 

  结果:

  1

  2

  4

  5

  12

  23

  23

  34

  Demo5(Demo3的第三种写法):

  

复制代码 代码如下:
<script>

  function compare(a,b) {

  return a-b;

  }

  var numArr = new Array(12,23,1,4,23,34,2,5);

  numArr.sort(compare);

  for (var i = 0; i<numArr.length; i++) {

  document.write(numArr[i] +"<br>");

  }

  </script> 

  结果:

  1

  2

  4

  5

  12

  23

  23

  34

  Demo6(Demo3的第四种写法):

  

  

复制代码 代码如下:
<script>

  var compare = function(a,b) {

  return a-b;

  }

  var numArr = new Array(12,23,1,4,23,34,2,5);

  numArr.sort(compare);

  for (var i = 0; i<numArr.length; i++) {

  document.write(numArr[i] +"<br>");

  }

  </script> 

  结果:

  1

  2

  4

  5

  12

  23

  23

  34