网络的经常使用简朴的算法。

数组去重

Array.prototype.unique = function(){
    var res = [];
    // forEach要领中的function回调有三个参数:
    //第一个参数是遍历的数组内容,第二个参数是对应的数组索引,第三个参数是数组自身
    this.forEach(function(v){
        if(res.indexOf(v)<0){
            res.push(v);
        }
    })
    return res;
}

已知bug:关于[1,1,2,2,3,’3′],会返回[1,2,3,3]

疾速排序

function quickSort(arr){
  if(arr.length <= 1) return arr;
  var index = Math.floor(arr.length/2);
  var key = arr.splice(index,1)[0];
  var left = [],right = [];
  arr.forEach(function(v){
      v <= key ? left.push(v) : right.push(v);
  });
  return quickSort(left).concat([key],quickSort(right));
}

这个算法诠释在http://www.ruanyifeng.com/blo…

    原文作者:不正常爆裂魔法使
    原文地址: https://segmentfault.com/a/1190000009559341
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞