数组去重方法

方法一:Es6新增加的一个对象,他允许存储任何类型(原始值或引用值)的唯一值

var arr = [type,dkjf,55,55,type];
function quchong(arr){
  return Array.from(new Set(arr));//利用new Set()将arr转成set对象类型,然后在array.from()将set结构转换成数组
}
quchong(arr);
var arr = quchong(arr);
console.log(arr);

方法二:利用数组的includes()方法,

               var arr = ["type","dkjf",55,55,"type"];
                        function unique(arr){
                            var array = [];
                            for(var i=0;i<arr.length;i++){
                            if(!array.includes(arr[i])){
                                array.push(arr[i]);//array.includes(arr[i])判断arr中的每一项是否在array中出现过,如果没有则array.push(arr[i])将这一项放入array中
                            }
                        }
                        return array;
                        }
                        
                        console.log(unique(arr));

方法三:利用sort()先进行排序,然后循环

              var arr = ["type","dkjf",55,55,"type"];
                        var array = [];
                        function unique(arr){
                            arr.sort();
                            array = [arr[0]];
                            for(var i=1;i<arr.length;i++){
                                if(arr[i]!==arr[i-1]){
                                    array.push(arr[i]);
                                }
                            }
                            return array;
                        }
                        console.log(unique(arr));

方法四:利用数组的splice()

               var arr = ["type","dkjf",55,55,"type"];
                        function unique(arr){
                            for(var i=1;i<arr.length;i++){
                               for(var j=i+1;j<arr.length;j++){
                                   if(arr[i] === arr[j]){
                                       arr.splice(j,1);//从第一项开始跟后面每一项对比,如果有相同的就截取掉
                                       j--;截取后对比数组长度减一
                                   }
                               }
                            }
                            return arr;
                        }
                        console.log(unique(arr));

 

posted @ 2022-03-10 21:47  binlong  阅读(66)  评论(0)    收藏  举报