数组去重

数组去重更新啦!!!!

方法一:
var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
Array.from(new Set(arr))
结果: [1, 2, 3, 4, 5, 6, 7, 8, 0, 56]
更新啦
方法二:

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

注意: filter() 不会对空数组进行检测。
注意: filter() 不会改变原始数组。

参数说明


参数
var arr = [1, 2, 2, 3, 4, 5, 5, 6, 7, 7,8,8,0,8,6,3,4,56,2];
var arr2 = arr.filter((x, index,self)=>self.indexOf(x)===index)  
console.log(arr2); 
image.png

数组去重:

// 方法一:

// 利用对象的属性不能相同的特点进行去重

//如果能查找到,证明数组元素重复了,如果没有,添加进去

        var obj = {};

        var result = [];

        var arr = [1, 2, 3, 3, 4, 4, 5, 5, 6, 1, 9, 3, 25, 4];

        console.log(arr.length);

        function aa(data) {

            for (var i = 0; i < data.length; i++) {

                if (!obj[arr[i]]) {

                    obj[arr[i]] = 1;

                    result.push(arr[i]);

                }

            }

            console.log(result.length + '方法一');

            console.log(result);

        }

        aa(arr);

// 方法二:

// 双层循环,外层循环元素,内层循环时比较值

// 值相同时,则删去这个值

// 删除元素之后,需要将数组的长度也减1

        var arr2 = [1, 2, 3, 3, 4, 4, 5, 5, 6, 1, 9, 3, 25, 4];

        function arrData(data1) {

            for (var i = 0; i < data1.length; i++) {

                for (var j = i + 1; j < data1.length; j++) {

                    if (data1[i] == data1[j]) {

                        data1.splice(j, 1);

                        j--;

                    }

                }

           }

            console.log(data1.length + '方法二');

            console.log(data1);

        }

        arrData(arr2);
结果

你可能感兴趣的:(数组去重)