zoukankan      html  css  js  c++  java
  • 数组去重的六种方法

    数组去重的方法

    1 function dedupe(array){
    2     return Array.from(new Set(array));
    3 }
    4 5 dedupe([1,2,3,3])
     1 let list = [1,2,4,3,2,3,5,6,7,8,7];
     2  3 let result = list.sort().reduce((init,current) => {
     4     if(init.length === 0 || init[init.length-1] !== current){
     5         init.push(current);
     6     }
     7     return init;
     8 },[]);
     9 10 console.log(result);
    1 let arr = [1,2,3,3,4,5,5];
    2 let unique = [...new Set(arr)];
    3 return unique
    4 //[1,2,3,4,5]
     1 // 数组方法
     2  let s = [7,9,3,9,2,1,7,2];
     3  var Dup = function(arr){
     4     let result = [];
     5     for(let i=0;i<arr.length;i++){
     6         flag = 0;
     7         for(let j=0;j<result.length;j++){
     8             if(arr[i] == result[j]) flag=1;
     9         }
    10         if(flag==0)
    11         result.push(arr[i]);
    12     }
    13     return result
    14 }
    15 console.log(Dup(s));
     1 //映射方法
     2 var map = new Map();
     3 var arr=[];
     4 for(let i=0;i<s.length;i++){
     5     if(!map.has(s[i]))
     6         map.set(s[i],1);
     7 }
     8 for(var key of map.keys()){
     9     arr.push(key);
    10 }
    11 console.log(arr);
    1 //排序预处理+双边界方法
    2 arr = s.sort();
    3 for(let l=0;l<arr.length;l=r){
    4     for(var r=l+1;r<arr.length;r++)
    5         if(arr[r] != arr[l])
    6             break;
    7     console.log(arr[l]);
    8 }
  • 相关阅读:
    Noe4j启动警告
    SpringBoot
    MySQL数据库 java SQL语句区分大小写分析
    day24 模块的语法
    day23 re模块
    day22 常用模块02 序列化
    day21 常用模块01
    day20 面向对象06 MRO和C3算法
    day19 面向对象05 约束
    day18 面向对象04 反射
  • 原文地址:https://www.cnblogs.com/annika/p/9126966.html
Copyright © 2011-2022 走看看