javascript sort函数探究

来源:互联网 发布:淘宝客不战 编辑:程序博客网 时间:2024/06/17 14:11
  1. sort函数为数组的方法,数组对象可以直接调用,返回排序后的数组,且改变原数组,不开辟新的内存,如果无参数以字母表顺序排序,有undefine放到最后
  2. 升序排列

     var a = [100,200,13,41,-8,77];     a.sort(function(a,b){    //升序排列    return  a-b;});

    输出为[-8, 13, 41, 77, 100, 200]

  3. 降序排列

     var a = [100,200,13,41,-8,77];     a.sort(function(a,b){    //升序排列    return b-a;});

    输出为[200, 100, 77, 41, 13, -8]

  4. 颠倒排列

    var a = [100,200,13,41,-8,77];
    a.sort(function(){
    //升序排列
    return 1;
    });

    输出为[77, -8, 41, 13, 200, 100]

  5. 随机数组

    var a = [100,200,13,41,-8,77];
    a.sort(function(){
    //升序排列
    return Math.random() - 0.5;
    });

    输出为不定,可自己测试
    同时我不是很明白这其中的原理

a.sort(function(x,y){   var c = Math.random() - 0.5;   console.log(a + "     " + x+ " " + y + " " + c);   return c; })

测试输出比较次数不定
这里写图片描述
这里写图片描述
希望有大神能解答一下^_^

0 0