对象数组的疾速排序

对象数组的疾速排序

var qSort = function(arr,key){
    if(arr.length <= 1){return arr;}
    var left = [],
        right = [],
        _index = Math.floor(arr.lenght / 2),
        _m = arr.splice(_index, 1)[0];
    for(var i=0,len=arr.length;i<len;i++){
        if(!key && ((arr[i] < _m) || (arr[i] == _m && i < _index)) || (key && ((arr[key] < _m[key]) || (arr[i][key] == _m[key] && i < _index)))){
              left.push(arr[i]);
          }
        }else{
              right.push(arr[i]);
        }
    return qSort(left,key).concat([_m],qSort(right,key));
};
    原文作者:zasqw2222
    原文地址: https://segmentfault.com/a/1190000002720636
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞