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