数组去重

经过es6的Array.from和set来实现

var arr=[1,2,2,1,2,5,7,3,5,6,5];
        function upset1_arr(arr){
            var obj=new Set(arr);
            var new_arr=Array.from(obj);
            return new_arr;
        }

经过es6的...来实现es6

function upset1_arr(arr){
            return [...new Set([arr])];
        }

新建一个数组,遍历老数组,经过indexof方法来判断心数组是否添加老数组的值

function upset2_arr(arr){
            var new_arr=[];
            for (var i = 0; i < arr.length; i++) {
                if(new_arr.indexOf(arr[i])==-1){
                    new_arr.push(arr[i]);
                }
            }
            return new_arr;
        }

先对数组就行排序,而后再先后两两比较

function upset3_arr(arr){
            var new_arr=[];
            arr.sort();
            for (var i = 0; i < arr.length; i++) {
                if(arr[i]!=arr[i+1]){
                    new_arr.push(arr[i]);
                }
            }
            return new_arr;
        }

新建一个对象,经过对象的健值对来筛选数组

function upset4_arr(arr){
            var new_arr=[],obj={};
            for (var i = 0; i < arr.length; i++) {
                if(!obj[arr[i]]){
                    obj[arr[i]]=true;
                    new_arr.push(arr[i]);
                }
            }
            return new_arr;
        }
相关文章
相关标签/搜索