javascript数组去重 String字符串去掉两端空格 javascript Array二分法排序 比较 javascript 求和

通过原形添加方法:

 

==================数组去重(对象去重法)=======================

Array.prototype.unique=function(){

  var res = [],
  obj = {};
  for (var i = 0; i < arr.length; i++) {
    if(!obj[this[i]]){
      res.push(arr[i]);
      obj[this[i]] = 8;
    }

  };
  return res;
}

 

var arr = ['2','4','35','4','23','2'];

arr.unique()  =>  ["2", "4", "35", "23"];

 

==================字符串去空格=======================

String.prorotype.trim = function(){

  return this.replace(/^\s+|\s+$/g,'');

}

var str = "    my script   ";

str.trim() => "my script";

 

 

=========================二分法排序思路========================
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));    //(递归方法:函数自身调用自身方法)
};

quickSort (arr);



=========================二分法排序思路========================

 

=================传入比较函数====================

function compare(a,b){
return b - a;
}
arr.sort(compare()).reverse();
==================传入比较函数===================

 

============================================================
递归方法实现数组遍历

  arr1 = [2,3,[4,6,[1,8]],12,10];
  var arrs = [];

  function getArr(arr){
    for (var i = 0; i < arr.length; i++) {

      if(typeof (arr[i]) == "number"){
        arrs.push(arr[i]);

      }else{
        getArr(arr[i]);
      }
    };
  }
  getArr(arr1);

  console.log(arrs) => [2,3,4,6,1,8,12,10]
============================================================

 

 

// ================求和===============

function sum(){
  var num = 0;
  for(var i = 0; i < arguments.length; i ++){
    num += arguments[i];
  }
  return num;
}

 

 

console.log(sum(2,3,8))  => 13

 

posted @ 2017-06-14 15:51  yanye411325  阅读(315)  评论(0编辑  收藏  举报