zoukankan      html  css  js  c++  java
  • 数组去重

    1.双重循环去重

      这个方法使用了两个for循环做遍历

    • 构建一个空数组用来存放去重后的数组
    • 外面的for循环对原数组做遍历,每次从数组中取出一个元素与结果数组做对比
    • 如果原数组取出的元素与结果数组元素相同,则跳出循环;反之则将其存放到结果数组中

      

    2. 使用原生的函数 Array.prototype.filter

      array.filter(callback,[thisArgs]);

      array.filter(function(ele,i,arr){

        return XXX;

      });  

      filter 为数组中的每个元素调用一次 callback 函数,并利用所有使得 callback 返回 true 或 等价于 true 的值 的元素创建一个新数组。callback 只会在已经赋值的索引上被调用,对于那些已经被删除或者从未被赋值的索引不会被调用。那些没有通                  过 callback 测试的元素会被跳过,不会被包含在新数组中。(filter不会改变原数组)

      callback 被调用时传入三个参数:

    1. 元素的值
    2. 元素的索引
    3. 被遍历的数组

      如果为 filter 提供一个 thisArg 参数,则它会被作为 callback 被调用时的 this 值。否则,callback 的this 值在非严格模式下将是全局对象,严格模式下为 undefined

      

      筛选排除掉所有的小值

      

      

  • 相关阅读:
    设计模式开始--工厂模式
    设计模式开始--UML类之间关系表示
    设计模式开始1--不明觉厉
    Gas Station
    Validate Binary Search Tree
    Word Ladder
    (转)基于快速排序的TOPK算法
    Number of 1 Bits
    Word Search
    Rotate Array
  • 原文地址:https://www.cnblogs.com/syomm/p/5641507.html
Copyright © 2011-2022 走看看