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

    一.利用for嵌套for,然后splice去重
    let arr=[5,5,5,12,12,-3,33,33,35,8];
    for( let i=0; i<arr.length;i++){
    for(let k=i+1;k<arr.length;k++){
    if(arr[i]===arr[k]){
    arr.splice(i,1);
    i--;
    }
    }}
    console.log(arr)
    

    二.Set方法去重

    let arr = [1,2,2,3,4,3,1,6,7,3,5,7];
    let s1 = new Set(arr);
    let arr2 = [...s1];
    console.log(arr2);
    

    三.利用indexOf去重

    let arr=[1,2,4,4,5,6,7,7,8,9];
    let s = [];  //遍历数组
    for(var i = 0;i<arr.length;i++){
    if(s.indexOf(arr[i]) == -1){ //判断在s数组中是否存在,不存在则push到s数组中
    s.push(arr[i]);
    }
    }
    console.log(s);
    

    四.利用sort去重

    let arr=[1, 1, 2, 3, 5, 3, 1, 5, 6, 7, 4];
    function unique(arr) {
        if (!Array.isArray(arr)) {
            console.log('type error!')
            return;
        }
        arr = arr.sort()
        var arrry= [arr[0]];
        for (var i = 1; i < arr.length; i++) {
            if (arr[i] !== arr[i-1]) {
                arrry.push(arr[i]);
            }
        }
        return arrry;
    }
            console.log(unique(arr));
    

      

    五.双重for循环,利用push达到去重效果

    let arr=[1,2,4,4,5,6,7,7,8,9];
      let newArr = []
      for (let i = 0; i < arr.length; i++) {
        for (let j = i + 1; j < arr.length; j++) {
          if (arr[i] === arr[j]) {
            i++;
          }
        }
        newArr.push(arr[i])
      }
      console.log(newArr) 
  • 相关阅读:
    Python基础编程常用模块汇总
    博客目录
    网络编程
    python 对象
    python模块和规范开发
    python常用内置函数
    python递归函数和匿名函数
    python装饰器
    python迭代器,生成器,推导式
    python作用域
  • 原文地址:https://www.cnblogs.com/youwei716/p/11146091.html
Copyright © 2011-2022 走看看