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().

上一篇:【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight


下一篇:CSS 优先级&伪元素&伪类