Js 数组排序函数sort()

最近看到一个js函数sort()觉得挺有意思,写在这里与大家分享。如果有什么地方不对或者有更好的写法,也请大家不吝赐教。

sort()返回一个元素已经进行了排序的 Array 对象。

1. 按字母排序

  直接使用sort()函数,默认按字母顺序排。 

  var arr = new Array("dd", "aa", "bb", "cc");

  arr.sort();

  此时返回结果排序为  "aa", "bb", "cc", "dd"

2. 按字母倒序排序

  var arr = new Array("dd", "aa", "bb", "cc");

  arr.sort(function test(a,b){ 

    if(a.toString().toLowerCase() < b.toString().toLowerCase())
      return 1;
    else
      return -1;
  });

 

  此时返回结果排序为  "dd", "cc", "bb", "aa"

3. 按数字大小排序

  var arr = new Array("22", "11", "55", "111");

  arr.sort(function(a, b){
    return a - b;   // 若这里写的是 b - a, 则返回结果为按数字倒序排列
  });

  此时返回结果排序为  "11", "22", "55", "111"

4. 随机排序

  arr.sort(function test(a,b){
    return 0.5 - Math.random();
  });

 

posted @ 2016-01-10 13:59  somehot  阅读(1030)  评论(1编辑  收藏  举报