JS中数组去重的方法

 // 方法1

            var Arr = [1, 2, 3, 5, 5, 1, 6, 7]

            var arrList = []

            // 判断是否为数组

            // console.log(Array.isArray(Arr));

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

            //     for (var j = i + 1; j < Arr.lengthi; j++) {

            //         if (Arr[i] == Arr[j]) {

            //             continue

            //             // arrList+=Arr[i]

            //             // console.log(Arr[j]);

            //         } else {

            //             Arr[j] += Arr[i]

            //             arrList.push(Arr[j])

            //         }

            //     }

            // }

            // console.log(arrList);


 

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

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

            //         if (Arr[i] == Arr[j]) {

            //             Arr.splice(j, 1)

            //             j--;

            //         }

            //     }

            // }

            // console.log(Arr)

 //方法2

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

            //     if (arrList.indexOf(Arr[i]) == -1) {

            //         arrList.push(Arr[i])

            //     }

            // }

            // console.log(arrList);

//方法3

            // 利用对象属性不能重复的特性给数组去重

            // var blank = []

            // obj = {}//对象

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

            //     obj[Arr[i]] = 1

            // }

            // // 通过for..in语法可以遍历一个对象

            // // 删除对象的属性

            // for (var key in obj) {

            //     console.log(key);

            //     blank.push(Number(key))

            // }

            // console.log(blank);
 

//方法4

            // 利用sort排序,然后在前后比对

            // function unique(Arr) {

            //     arr = Arr.sort()    //进行排序

            //     var ArrList = [arr[0]];

            //     for (var i = 1; i < arr.length; i++) {

            //         if (arr[i] !== arr[i - 1]) {    //前后进行判断是否一样

            //             ArrList.push(arr[i]);

            //         }

            //     }

            //     return ArrList;

            //     console.log(arr);

            // }

            // console.log(ArrList);

 //方法5

                //借用新数组

            var newArr = [];

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

                var repArr = [];//接收重复数据后面的下标

                //内层循环找出有重复数据的下标

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

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

                        repArr.push(j);//找出后面重复数据的下标

                    }

                }

                if (repArr.length == 0) {//若重复数组没有值说明其不是重复数据

                    newArr.push(Arr[i]);

                }

            }

            console.log(newArr);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值