zoukankan      html  css  js  c++  java
  • Js学习之-----数组去重

    1、[...new Set(arr)]

    字符串去重:

    let str="aassdhjgffbjhas"
    console.log("字符串去重:",[...new Set(str)])//["a", "s", "d", "h", "j", "g", "f", "b"]
    console.log("字符串去重:",[...new Set(str)].join(''))//asdhjgfb

    数组去重:

    let arr = [1, 2, 2, 5, 5, 1, 3, 3, 1, 4];
    console.log("数组去重:", [...new Set(arr)])//[1, 2, 5, 3, 4]
    tips1:Array.from()----------- 将一个类数组对象或者可遍历对象转换成一个真正的数组
    //对象转数组
    let obj = {
    0: 1,
    1: 2,
    2: 3,
    3: 4,
    'length': 4  //length属性必须有,不然转出来会是一个空数组
    
    }; console.log("对象转数组实验:", Array.from(obj))//[1, 2, 3, 4]
    tips2:展开运算符 (...) ----------- 将一个数组转为用逗号分隔的参数序列
    //数组转对象
    let arr = [1, 2, 3, 4]
    let obj={...arr};//{0: 1, 1: 2, 2: 3, 3: 4}

    2、两层for循环去重

    let arr = [1, 2, 2, 5, 5, 1, 3, 3, 1, 4];
      for (let i = 0; i < arr.length; i++) {//从第一个元素开始循环
        for (let j = i + 1; j < arr.length; j++) {//从下一个元素开始循环
          if (arr[i] === arr[j]) {
            arr.splice(j, 1)//如果两个元素相同,剔除后者
            j--//返回保留的元素位置
          }
        }
    }

    3、一层for循环去重

    let arr = [1, 2, 2, 5, 5, 1, 3, 3, 1, 4];
    let arr1=[]//建一个新的空数组
    for (let i = 0; i < arr.length; i++) {
      if(arr1.indexOf(arr[i])===-1){//如果新数组中不包含该元素,则把元素加入到新数组中
        arr1.push(arr[i])
      }
    }

      

     

  • 相关阅读:
    SpreadJS V13.0发布,聚焦表单设计与数据交互,让您的工作效率突飞猛进!
    springboot---redis缓存的使用
    springboot logback日志的使用
    Https与Http的区别以及Https的解说
    maven的使用解说
    Spring SpringMVC myBatis(简称SSM)理解
    抽象类与接口的区别
    Hadoop综合大作业
    hive基本操作与应用
    熟悉HBase基本操作
  • 原文地址:https://www.cnblogs.com/zhaoyingzhen/p/15061384.html
Copyright © 2011-2022 走看看