博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript数组去重 String字符串去掉两端空格 javascript Array二分法排序 比较 javascript 求和...
阅读量:6006 次
发布时间:2019-06-20

本文共 1928 字,大约阅读时间需要 6 分钟。

通过原形添加方法:

 

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

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

 

转载于:https://www.cnblogs.com/xiaomaotao/p/7009275.html

你可能感兴趣的文章
${basePath}
查看>>
linux命令之uniq简单用法
查看>>
使用Eclipse调试Java程序的10个技巧
查看>>
Hive分桶表
查看>>
oracle10g 启动时报错:ORA-32004 ORA-19905
查看>>
思科分发列表过滤路由(RIP)动态路由协议篇
查看>>
可登录的用户数量是1.6万个,软件的性能得到充分的考验
查看>>
[实战]MVC5+EF6+MySql企业网盘实战(23)——文档列表
查看>>
[译] ES2018(ES9)的新特性
查看>>
Javascript基础复习 数据类型
查看>>
C# Selenium 破解腾讯滑动验证
查看>>
bom与dom的区别
查看>>
Matlab2012a下配置LibSVM—3.18
查看>>
Java生成-zipf分布的数据集(自定义倾斜度,用作spark data skew测试)
查看>>
修复CefSharp浏览器组件中文输入Bug
查看>>
正则与sed,grep,awk三剑客
查看>>
诊断一句SQL不走索引的原因
查看>>
iOS开发拓展篇—UIDynamic(简单介绍)
查看>>
Linux pipe函数
查看>>
图片标注工具LabelImg使用教程
查看>>