數組去重

經過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;
        }
相關文章
相關標籤/搜索