zoukankan      html  css  js  c++  java
  • javaScript 数组去重 双层for循环

        let  arr=[1,2,2,3,1,4,4,8,8,8,8,5,5,6,6,7,7,8]
      
           //第一次遍历数组
            for(var i=0;i<arr.length;i++){
           //第二次遍历数组,是第一遍历数组下标的下一个数据
                for(var j=i+1;j<arr.length;j++){
            //判断第一层遍历数据和第二层遍历的数据是否相同
                    if(arr[i]==arr[j]){
                  //如果数据相同则通过splice删除一条相同的数据
                        arr.splice(i,1)
                  //i是第一层遍历的下标,因为上一步删除了一条数据,所以下标也需要减一,否则实际下标,要比数组中的数据更多
                        i--;
                   //j 也同样需要和i一样减一,保持遍历依旧同步判断
                        j--;
                    }
                }
    
    //去重完成以后,数组数据在控制台输出
      console.log(arr)
    

      第一个for循环是拿出一条数据,和第二个for循环中的所有数据,进行对比。

      但是为了防止下标相同的数据进行对比,所以第二个for循环要在第一个for循环数据下标的基础上加一,这样对比的数据就不会出现相同下标的数据。

  • 相关阅读:
    SQL 查询优化
    win10鼠标右键菜单在左边,怎么改回右边
    Ansible 命令
    CSV模块
    Python 常用模块
    Ansible 常用模块
    Ansible 动态配置文件
    Cluster Health
    Elasticsearch Python API
    grok常用表达式
  • 原文地址:https://www.cnblogs.com/xiaobu-wu/p/12690562.html
Copyright © 2011-2022 走看看