• js数组去重


    1 //  方法一
    2 var arr = [12,3,3,4,55,6,55,12,76]
    3 var newarr =[];
    4 for(var i=0;i<arr.length;i++){
    5   if(newarr.indexOf(arr[i])==-1){
    6          newarr.push(arr[i])      
    7     }      
    8 }
    9 console.log(newarr)
    // 方法二
    var arr = [12,3,3,4,55,6,55,12,76]
    for(var t=0;t<arr.length;t++){
      for(var y=0;y<arr.length-1;y++){
        if(arr[t]==arr[y]&&t!=y){
            arr.splice(y,1)
        }
      }
    }
    console.log(arr)
     1 // 方法三
     2 var arr = [12,3,3,4,55,6,55,12,76]
     3 var obj= {}
     4 var new_arr =[]
     5 for(var i=0;i<arr.length;i++){
     6    var k=arr[i];
     7    if(!obj[k]){
     8       obj[k]=true;
     9       new_arr.push(k) 
    10   }  
    11 } 
    12 console.log(new_arr)
    //方法四    es6
    var arr =[1,2,2,3,3,3,4,5,5,6]
    console.log([...new Set(arr)])
    console.log(Array.from(new Set(arr)))
     1 方法五 利用indexOf()
     2 使用indexOf(),可以判断一个数组中是否包含某个值,如果存在则返回该元素在数组中的位置,如果不存在则返回-1
     3 
     4 functon unique(arr) {
     5     let res = []
     6       for (let i = 0; i < arr.length; i++) {
     7         if (res.indexOf(arr[i]) === -1) {
     8               res.push(arr[i])
     9         }
    10       }
    11       return res
    12 }
     1 方法六 利用includes()
     2 
     3 使用includes()方法也可以判断数组是否包含某个特定的元素,如果包含就返回true不包含就返回false。这和indexOf()方法有些类似,所以我们使用includes()进行数组去重和indexOf()的方法原理是一样的。
     4 
     5 functon unique(arr) {
     6     let res = []
     7     for (let i = 0; i < arr.length; i++) {
     8         if (!res.includes(arr[i])) {
     9               res.push(arr[i])
    10         }
    11     }
    12     return res
    13 }
    1 // 数组去重 filter
    2 
    3 const arr1 = [22,1,44,32,32,22];
    4 const newArr = arr1.filter( function (item,index,arr1){
    5     console.log(arr1.indexOf(item) === index)
    6     return arr1.indexOf(item) === index
    7 })
    8 console.log(newArr)
    // 方法7 利用reduce()
    var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];
    var arring = names.reduce(function (arrcoult,currentval){
        if(arrcoult.indexOf(currentval) === -1) {
             arrcoult.push(currentval)
          }
          return arrcoult
    },[])
    console.log(arring)
  • 相关阅读:
    《试题库管理系统的设计与实现》11
    转 windows10安装docker
    转 linux 安装docker
    Centos7 离线安装RabbitMQ,并配置集群
    Linux配置Redis主从
    CENTOS7下安装REDIS
    sql删除相同数据(无主键)
    mybatis中 <if test=>等于的条件怎么写
    java 日期获取,每月一号,每周一
    Oracle中merge into的使用
  • 原文地址:https://www.cnblogs.com/chailuG/p/9571251.html
Copyright © 2020-2023  润新知