zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    springboot配置redis缓存
    【spark】local模式运行
    mybatis从入门到精通(二) 增删查改
    学习设计模式
    学习设计模式
    mybatis从入门到精通(一) 入门
    学习NIO 之 使用方法
    学习 NIO 之 零拷贝
    Java并发
    学习设计模式
  • 原文地址:https://www.cnblogs.com/xiaomaotao/p/7009275.html
Copyright © 2011-2022 走看看