美文网首页
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