数组去重

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

  

  筛选排除掉所有的小值

  

  

posted on 2016-07-18 14:51  Befacebook  阅读(216)  评论(0编辑  收藏  举报