js---数组去重的方法总结???

//数组去重
        
        //1.判断新数组中是否有重复的
        let oldArr = [1, 2, 3, 4, 5, 5 , 6, 7, 8, 2, 3];
        let newArr = qc(oldArr);
        console.log(newArr)
        function qc(arr){
            let nosame=[];
            for(let i=0;i<arr.length;i++){
            //如果在数组中没找到指定元素则返回 -1。
                if(nosame.indexOf(arr[i])==-1){
                    nosame.push(arr[i])
                }
            }
            return nosame;
        }
        
        //2.判断原数组中的下标是否一致
        
        let old2=[1,2,1]
        let new2=qc2(old2,"old2");
        console.log(new2)
        function qc2(arr2){
            let nosame2=[];
            for(let i=0;i<arr2.length;i++){
                //返回 item 的第一次出现的位置
                if(arr2.indexOf(arr2[i])==i){
                    nosame2.push(arr2[i])
                }
            }
            return nosame2;
        }
        
        //3.es6的Set去重(),
        let old3=[2,3,4,2,3];
        let b=new Set(old3);
        //处理完后可以用Array.from方法或者扩展函数把它重新转回数组
        let c=Array.from(b);
        let d=[...b]
        console.log(c,"c",d)

 

posted @ 2020-05-09 14:45  小白呀白菜  阅读(183)  评论(0编辑  收藏  举报