数组去重

 <script>
        let arr = [1, 2, 2, 3, 1, 4, 4, 8, 8, 8, 8, 5, 5, 6, 6, 7, 7, 8];
        //第一次遍历数组
        for (let i = 0; i < arr.length; i++) {
            //第二次遍历数组,是第一次遍历数组下标的下一个数据
            for (let j = i + 1; j < arr.length; j++) {
                //判断第一层遍历数据和第二层遍历的数据是否相同
                if (arr[i] == arr[j]) {
                    //如果数据相同则通过splice删除一条相同的数据
                    arr.splice(i, 1)
                        //i是第一层遍历的下标,因为上一步删除了一条数据,
                        //所以下标也需要减一,否则实际下标,要比数组中的数据更多
                    i--;
                    //j 也同样需要和i一样减一,保持遍历依旧同步判断
                    j--;
                }
            }
        }
        console.log(arr)
    </script>
posted @ 2020-08-01 17:00  StateArmy  阅读(28)  评论(0)    收藏  举报