美文网首页
数组 排序

数组 排序

作者: Vivian_06e6 | 来源:发表于2018-09-03 11:50 被阅读0次
    var arr = [3,4,2,-4,9,-5,33,7,12];
    function compare(v1,v2){
         // v1  -->代表每一次执行匿名函时候,找到的数组中的当前项;
         // v2  -->代表当前项的后一项;
        return v1-v2;// 升序时: 如果v1>v2,那么返回的值>0,v1和v2交换位置;
        //return v2-v1; 降序时: 如果v2>v1,那么返回的值>0,v1和v2交换位置;
        //-> 原理:return的值可能是一个大于0的数也或者可能是小于等于0的数,如果return后 的值大于0则让数组v1和v2交换一下位置;小于等于0,则原来数组中的位置不变;
       //return  1; 表示不管a和b谁大,每一次都返回一个恒大于0的数,也就是说每一次v1和v2都要交换位置,最后的结果就是原有数组倒过来排列了,相当于数组的reverse()方法;
    
    };
    arr.sort(compare);
    conosle.log(arr);
    
    
    //打印结果
    [-5, -4, 2, 3, 4, 7, 9, 12, 33]
    //compare 函数是作为sort方法的比较函数  如果 
    function compare(v1,v2){
        return v2-v1;
    };
    //则打印结果为:
    [33, 12, 9, 7, 4, 3, 2, -4, -5]
    

    相关文章

      网友评论

          本文标题:数组 排序

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