JS面试之数组去重和快速排序

来源:互联网 发布:二维数组分配空间 编辑:程序博客网 时间:2024/04/30 10:04

1、数组去重


var arr = [ 1, 2, 3, 4, 4 , 6, 5, 6 ];


 Array.prototype.unique = function () {
    var n = [];
    for(var i=0;i<this.length;i++){
         if(n.indexOf(this[i])==-1){
             n.push(this[i]);
         };
    };
    return n;
 };

console.log(arr.unique());


2、快速排序


var quickSort = function(arr) {  
  if (arr.length <= 1) { return arr; }  
  var pivotIndex = Math.floor(arr.length / 2);  
  var pivot = arr.splice(pivotIndex, 1)[0];  
  var left = [];  
  var right = [];  
  for (var i = 0; i < arr.length; i++){  
    if (arr[i] < pivot) {  
      left.push(arr[i]);  
    } else {  
      right.push(arr[i]);  
    }  
  }  
  return quickSort(left).concat([pivot], quickSort(right));  
};  

原创粉丝点击