zoukankan      html  css  js  c++  java
  • js中的数组去重

    本文主要提供了三个数组去重的方法

    • 方法一,splice()
     var arr=[1,2,3,8,9,2,4,2,5,6,3,2,];
        for(var i=0;i<arr.length;i++){
          var item=arr[i];
          for(var j=i+1;j<arr.length;j++){//内层循环用来判断item后面的数与item是否相等
            if(item===arr[j]){
              arr.splice(j,1)//相等就把j位删了
              j--;//j--是因为上面删除了一个元素,所以数组的长度减少了,j--后还有j++,运算完成后才是下一个遍历的元素的下标
            }
          }
        }
        console.log(arr);
    • 方法二
     var arr=[1,2,3,8,9,2,4,2,5,6,3,2,];
        var arr1=[];//新建一个数组用来存放无重复的元素
        for(var i=0;i<arr.length;i++){
          var item=arr[i];
          var bool=true;//设置bool值
          for(var j=0;j<arr1.length;j++){//遍历新数组
            if(arr1[j]===item){//如果新数组里面的元素与item相等,那么设置bool为false,并跳出此次遍历,判断下一个item值与arr1[j]是否相等
              bool=false;
              break;
            }
          }
            //如果bool为true,那么上面就没有arr1[j]与item相等,就将item存入新的数组arr1中
          if(bool){
            arr1.push(item);
          }
        }
        console.log(arr1);
    • 方法三 indexOf()
       var arr=[1,3,1,2,3,5,2,3,4,6];
        var arr1=[];
        for(var i=0;i<arr.length;i++){
          if(arr1.indexOf(arr[i])===-1){
            arr1.push(arr[i]);
          }
        }

      

  • 相关阅读:
    is 和 == 的区别,utf和gbk的转换,join用法
    python字典的整理信息
    poj分类
    cloud computing
    POJ1007 关于STL排序方法 动态数组的创建 和向量的使用
    math类
    研究生考试感想
    4.11
    重看设计模式 观察者模式
    子串计算 2010北京大学复试机试题
  • 原文地址:https://www.cnblogs.com/shewill/p/13223173.html
Copyright © 2011-2022 走看看