JaneChelle | Blog JaneChelle | Blog

执着于理想,纯粹于当下

目录
数组去重
/  

数组去重

1、indexOf 循环去重

var arr = [1,2,3,2,3,4,3,5];
        function find(arr){
            var result = [];
            for(var i = 0; i < arr.length;i++){
                if(result.indexOf(arr[i]) == -1){
                    result.push(arr[i]);
                }
            }
            console.log(result);
        }
         find(arr);

2、Object 键值对去重

把数组的值存成 Object 的 key 值,比如 Object[value1] = true,在判断另一个值的时候,如果 Object[value2]存在的话,就说明该值是重复的

var toObject = function(array){
            var obj = {};
            length = array.length;
            for(var i = 0;  i < length; i ++){
                obj[array[i]] = true;
            }
            return obj;
        }
        var toArray = function(obj){
            var arr = [];
            for(var i in obj){
                arr.push(i);
            }
            return arr;
        }
        var unique = function(arr){
            return toArray(toObject(arr))
        }
        var arr1 = unique(arr);
        console.log(arr1);

3、set 数组去重

var set = new Set(arr);
        console.log(set);