javascript学习笔记之array.sort

arrayName.sort()方法:

  功能是实现排序(按ascii编码或按数字大小),可无参或有参使用,无参时默认升序排列。有参时可实现升序或降序排列,参数必须是具有返回值的方法,当方法表达式大于0时将交换两数的顺序。即

arrayName.sort(表达式
{
  if(表达式>0)
      交换顺序;
  else if(表达式<0)
      不执行操作;
    else //表达式=0  
    根据浏览器支持选择具体操作;
});

其中表达式(==方法)将会决定排序原则,具体地实例是

arrayName.sort(function(a,b){
    if(a>b)
        return 1;
    else if(a<b)
        return -1;
    else //(a=b)
        return 0;});   

将会实现升序排列,对应地实现降序排列的方法是:

arrayName.sort(function(a,b){
    if(a>b)
        return -1;
    else if(a<b)
        return 1;
    else //a===b
        return 0;});

当比较的数组内容是数字时,上述表达式可简化为:

//升序
arrayName.sort(function(a,b){
    return a-b;});
//降序
arrayName.sort(function(a,b){
    return b-a;});

  此外,sort方法根据表达式,还可以实现根据元素的内容排序的功能,具体参见Array.prototype.sort().

posted @ 2016-07-18 09:20  TryTryTryTry  阅读(168)  评论(0编辑  收藏  举报