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

  • 相关阅读:
    【BZOJ4514】【SDOI2016】数字配对 [费用流]
    【BZOJ4517】【SDOI2016】排列计数 [数论]
    【BZOJ4516】【SDOI2016】生成魔咒 [SAM]
    【BZOJ1560】【JSOI2009】火星藏宝图 [DP]
    【BZOJ4903】【CTSC2017】吉夫特 [DP]
    【BZOJ3884】上帝与集合的正确用法 [欧拉定理]
    【BZOJ4869】相逢是问候 [线段树][欧拉定理]
    树和二叉树知识点总结
    Socket详解
    Host文件简介
  • 原文地址:https://www.cnblogs.com/xiaomaotao/p/7009275.html
Copyright © 2011-2022 走看看