美文网首页
数组去重--解决自动替补

数组去重--解决自动替补

作者: 这是这时 | 来源:发表于2019-01-10 13:30 被阅读6次

    数组去重

     <script>
        var arr = [1, 1, 2, 1, '2', '1', 3, 3, 7, 6, 8, 6, 9, 4, 1, 7, 4, 9]
        // 先遍历一组数组,把数组中所有的元素取出来
        for (var i = 0; i < arr.length; i++) {
            // 把该元素的后面的元素取出来做对比
            for (var j = i + 1; j < arr.length; j++) {
                // 循环判断当前元素和后面的每一个元素是否相等
                if (arr[i] == arr[j]) {
                    // 如果相等,证明了出现了相同的元素,就要删除后面的元素j 
                    arr.splice(j, 1);
                    //  当删除了当前j所在元素的位置后,后面的元素自动补位,自动补位的位置可能和删除的元素相同!
                    //  所以我需要在比较一次删除的位置,让j--  只要满足了两个数相等,就会删除后面的数,
                    //  删除了后再来比较一次这个位置的数
                    j--;
                    // 只有删除了一个元素后,才会减减
                }
            }
        }
        console.log(arr)
    </script>
    
    答案:
    Array(8)
    0: 1
    1: 2
    2: 3
    3: 7
    4: 6
    5: 8
    6: 9
    7: 4
    length: 8
    
    

    相关文章

      网友评论

          本文标题:数组去重--解决自动替补

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