美文网首页
Array类型-sort()方法理解

Array类型-sort()方法理解

作者: hk_kh | 来源:发表于2016-08-27 23:09 被阅读0次

在默认情况下,sort()方法会调用每个数组的toString()转型方法,然后比较得到的字符串,以确定如何排序。即使数组中的每一项都是数值,sort()方法比较的也是字符串。
exp:

 var values=[0,1,5,10,15];
 values.sort();
 alert(values);//0,1,10,15,5

延伸1:sort(compare)的升序方法。

function compare(value,value2){
if(value1<value2)
{ return -1; } 
else if(value1>value2)
{ return 1; } 
else{ return 0; }
}
var values= [0,1,5,10,15];
values.sort(compare);
alert(values);//0,1,5,10,15

比较函数接收两个参数,如果第一个参数应该位于第二个之前则返回一个负数,如果两个参数相等则返回0;如果第一个参数应该位于第二个之后则返回一个正数。

延伸2:sort(compare)的降序方法。

function compare(value,value2){
if(value1<value2)
{ return 1; } 
else if(value1>value2)
{ return -1; } 
else{ return 0; }
}
var values= [0,1,5,10,15];
values.sort(compare);
alert(values);//15,10,5,1,0

方法与第一种方法类似,只不过在compare比较函数,if语句中使return结果取反。

相关文章

网友评论

      本文标题:Array类型-sort()方法理解

      本文链接:https://www.haomeiwen.com/subject/dfytettx.html