美文网首页
JS四种数组去重方法

JS四种数组去重方法

作者: yoolika | 来源:发表于2019-01-17 14:36 被阅读0次
<script>

        var arr = [1, 2, 43, 2, 2, 2, 3, 1, 3, 5, 7]

        //排序 比较

        function unique1(arr) {
            arr.sort(function (a, b) { return a - b })
            var newArr = [arr[0]];
            var len = arr.length;
            for (var i = 0; i < len; i++) {
                //和newArr最后一位比
                if (arr[i] !== newArr[newArr.length - 1]) {
                    newArr.push(arr[i])
                }
            }
            return newArr;
        }


        function unique2(arr) {

            var newArr = [];
            var len = arr.length;
            for (var i = 0; i < len; i++) {
                for (var j = i + 1; j < len; j++) {
                    if (arr[i] === arr[j]) {
                        j = ++i
                    }
                }
                newArr.push(arr[i])
            }
            return newArr;
        }

        //数组去重 indexof
        function unique3(arr) {
            var newArr = [];
            var len = arr.length;
            for (var i = 0; i < len; i++) {
                //和newArr最后一位比
                if (newArr.indexOf(arr[i]) == -1) {
                    newArr.push(arr[i])
                }
            }
            return newArr;
        }

        function unique4(arr) {
            var obj = {};
            var len = arr.length;
            var newArr = [];

            for (var i = 0; i < len; i++) {
                if (!obj[arr[i]]) {
                    obj[arr[i]] = "a";
                    newArr.push(arr[i])
                }
            }
            return newArr;
        }

        console.log(unique1(arr))
        console.log(unique2(arr))
        console.log(unique3(arr))
        console.log(unique4(arr))

    </script>

ES6 一行代码数组去重

 let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3];
 let set = new Set(array);
 console.log(set);
 // => Set {1, 2, 3, 4, 5}

相关文章

网友评论

      本文标题:JS四种数组去重方法

      本文链接:https://www.haomeiwen.com/subject/mndidqtx.html