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

    数组去重的几种方法

    1、Array.prototype.sort():相邻元素去重

    相邻元素去重的核心在于Array.sort()能够对数组进行排序。这样相等的数组就会在相邻的位置,通过比较相邻的元素就可以起到去重的作用

    let c=[1,2,3,4,5,6,1,2,3]
    function newArr(arr){
     let Arr=arr.sort()
     let b=[]
     for(let i=0;i<Arr.length;i++){
     if(Arr[i]!==Arr[i+1]){
      b.push(Arr[i])
     }
     }
     return b
    }
    2、遍历去重:indexOf
    indexOf 方法返回给定元素在数组中第一次出现的位置,如果没有出现则返回-1。首先我们新建一个空数组(arry),如果:arry.indexOf(数组元素)===-1,那么我们就可以知道arry中不存在元素。
    let c=[1,2,3,4,5,6,1,2,3]
    function newArr(arr){
     let b=[]
     for(let i=0;i<arr.length;i++){
     if(b.indexOf(arr[i])==-1){
      b.push(arr[i])
     }
     }
     return b
    }
    3、循环遍历之:map()/forEach()
    map()和forEach()都可以实现遍历数组。所以以上的方法都可以用map()、forEach()改写。下面我只简单的改写一个,其他的改写方式参照即可。
    let c=[1,2,3,4,5,6,1,2,3]
    function newArr(arr){
     let b=[]
     arr.forEach(res=>{
     if(b.indexOf(res)==-1){
      b.push(res)
     }
     })
     return b
    }
    4、ES6:Set数据结构
    Set数据类似于数组,但是成员的值都是唯一的,没有重复的值。它可以接收一个数组,类于:let a=[1,2,3,1,2]  Set(a)=>1,2,3 所以可以使用Set()实现去重。
     
    let c=[1,2,3,4,5,6,1,2,3]
    function newArr(arr){
     let b=new Set(arr)
     let c=Array.from(b)
     return c
    }
     
  • 相关阅读:
    PS 修复画笔
    PS 魔棒工具、仿制图章
    PS选区的应用
    PS界面介绍
    火狐浏览器任务栏设置默认 隐私模式开启
    [CSS] Using inline-grid to gain easy control over gap and size
    [AWS] Presign url for S3
    [CSS] Customer focus / disabled style for select element
    [CSS] Using single grid-template-area and justify-self to select arrow down icon in select
    [CSS 3] Using CSS attribute selector
  • 原文地址:https://www.cnblogs.com/qq976864507/p/11780644.html
Copyright © 2011-2022 走看看