js数组去重---java数组去重

js的数组去重的几种方式

    // 1.es6新特性--
    var arr1 = [1, 2, 2, 3, 3, 2, 4, 1, 5, 7, 9, 7, 5, 8, 6];

    function unique(arr) {
        return [...new Set(arr1)];
    }
    console.log(unique(arr1));

    // 2. indexOf去重
    var arr2 = [1, 2, 2, 3, 3, 2, 4, 1, 5, 7, 9, 7, 5, 8, 6];
    function uniqueIndexOf(arr) {
        var arrIndexOf = [];
        for (let i = 0; i < arr.length; i++) {
            if (arrIndexOf.indexOf(arr[i]) == -1) {
                arrIndexOf.push(arr[i]);
            }
        }
        return arrIndexOf;
    }
    console.log(uniqueIndexOf(arr2));
    // 3. 排序的方式
    var arr3 = [1, 2, 2, 3, 3, 2, 4, 1, 5, 7, 9, 7, 5, 8, 6];
    function uniqueSort(arr) {
        arr = arr.sort();
        var arrSort = [];
        for (let i = 0; i < arr.length; i++) {
            if (arr[i] !== arr[i - 1]) {
                arrSort.push(arr[i])
            }
        }
        return arrSort;
    }
    console.log(uniqueSort(arr3));
    // 4. for循环
    var arr4 = [1, 2, 2, 3, 3, 2, 4, 1, 5, 7, 9, 7, 5, 8, 6];
    function uniqueFor(arr) {
        var arrFor = []
        for (let i = 0; i < arr.length; i++) {
            for (let j = i + 1; j < arr.length; j++) {
                if (arr[i] === arr[j]) {
                    arr.splice(j, 1);
                    j--;
                }
            }
        }
        return arr;
    }
    console.log(uniqueFor(arr4));
    // 5.filter
    var arr5 = [1, 2, 2, 3, 3, 2, 4, 1, 5, 7, 9, 7, 5, 8, 6];
    function uniqueFilter(arr) {
        // self 指的是自己本身数组
        return arr.filter((item, index, self) => {
            return self.indexOf(item, 0) === index;
        })
    }

    console.log(uniqueFilter(arr5));

java中的去重比较简单

   // 普通list
        public Object[] Unique(Object[] arr) {
            List<Object> list = new ArrayList<>();
            for (int i = 0; i < arr.length; i++) {
                if (!list.contains(arr[i])) {
                    list.add(arr[i]);
                }
            }
            Object[] objects = list.toArray();
            return objects;
        }
        // HashSet
        public Object[] UniqueSet(Object[] arr) {
            Set set = new HashSet();
            for (int i = 0; i < arr.length; i++) {
                set.add(arr[i]);
            }
            return set.toArray();
        }

        // LinkedHashSet 去重
        public Object[] UniqueLinkHash(Object[] arr) {
            Set set = new LinkedHashSet();
            for (int i = 0; i < arr.length; i++) {
                set.add(arr[i]);
            }
            return set.toArray();
        }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值