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

     /*去重第一种方法:遍历数组,查看对应的每个值的索引是否为当前索引,不是则重复,删除*/
        var arr = [20,23,40,45,60,23,45,60,20,40,20,20,20,20,20,20,20,20];
        function rmArr1(arr) {
            for(var i = 0; i < arr.length; i++){
                if(arr.indexOf(arr[i]) != i){//查看数组中遍历的这个值是否是第一次出现索引值,不是的话则是重复数据
                    //移除当前重复值
                    arr.splice(i,1);//从索引i处删除长度为1的数据
                    i--;
                }
            }
           return arr;
        }
        document.write(rmArr1(arr));
    
        document.write("<br>");
    
        //去重第二种方法:双层循环,内层循环查找始终比外层循环多一个索引,如果碰到的值相同则删除
        var arr1 = [20,23,40,45,60,23,45,60,20,45,45,45,45,45,45,45];
        function rmArr2(arr) {
            for (var i = 0; i < arr1.length; i++) {
                for (var j = i + 1; j < arr1.length; j++) {
                    if(arr1[i] == arr1[j]) {
                        arr1.splice(j, 1);//删除后索引前移
                        j--;//索引回退,继续执行写一个索引j,即删除掉的索引值
                    }
                }
            }
            return arr;
        }
        document.write(rmArr2(arr1));
    
        document.write("<br>");
    
        //去重方法三:借助新的数组,当循环下标与当前值的索引一致,则添加到数组中
        var arr2 = [20,23,40,45,60,23,45,60,20,45,45,45,45,45,45,45];
        function rmArr3(arr) {
            var newArr = [];
            for (var i = 0; i < arr.length; i++) {
                if(arr.indexOf(arr[i]) == i){
                    newArr.push(arr[i]);
                }
            }
            return newArr;
        }
    
        document.write(rmArr3(arr2));
    
           //去重第四种 利用新的数组  
            //当在数组中查找一个数据不存在时,返回一个-1的索引
            var newArr = [];
            for (var i = 0; i < arr.length; i++) {
                if(newArr.indexOf(arr[i]) == -1){
                    newArr.push(arr[i]);
                }
            }
            console.log(newArr);

     

  • 相关阅读:
    别闹了,这些都不是数字化转型
    对不起,“下一代ERP”仍旧是现在的ERP
    这世界真小
    SAP S4HANA 2020 Fully-Activated Appliance 虚拟机版分享
    花费巨资参加SAP培训真的有用吗?
    剑指 Offer 07. 重建二叉树
    剑指 Offer 06. 从尾到头打印链表
    剑指 Offer 05. 替换空格
    剑指 Offer 04.二维数组中的查找
    剑指 Offer 03. 数组中重复的数字
  • 原文地址:https://www.cnblogs.com/menglong1214/p/9543719.html
Copyright © 2011-2022 走看看