zoukankan      html  css  js  c++  java
  • 常用的数组去重方法

    ES5:

    1. 声明一个函数,将数组传进去,在里面新建一个数组循环传进来的数组,利用 indexOf 去新数组中查找是否存在,如果不存在往新数组中添加当前循环的元素,最后把新数组当作函数返回值

    ES6:

    1. 利用set 集合不重复特性,先将数组转成set集合再转回 数组, 比如: [...new Set(要去重的数组)]
    2. 利用 filter 进行过滤去重,如下
    const 去重后的数组 = 要去重的数组.filter( (当前元素, 当前索引, 原数组) => 当前索引 === 原数组.indexOf(当前元素) );
    

    Filter 实现去重的原理,如图:

    利用IndexOf的特性,从左开始找,找到第一个就返回,所以如果前面有存在相同的值,那么当前索引就不可能相等了。

  • 相关阅读:
    还得还得学啊
    感觉自己写的东西很死板啊
    好烦啊,不知道选哪个?
    222
    111
    愁人啊
    ssm+ajax实现登陆
    ssm框架搭建
    抽象类与接口
    代理设计模式
  • 原文地址:https://www.cnblogs.com/xiaolantian/p/12762912.html
Copyright © 2011-2022 走看看