数组去重

Posted -yu-ze-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组去重相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>

<body>
    <script>
    var arr = [1, 2, 3, 4, 1, 2, 2, 2, 2, 3, 3, 3, 3];
    var arr1 = [];
    //数组的去重
    //思路:使用每一个和数组的每一个去比较,如果有不相同的就推入空数组 
    for (var i = 0; i < arr.length; i++) {
        for (var j = 0; j < arr.length; j++) {
            if (arr[i] != arr[j]) {
                if (arr1.indexOf(arr[i]) == -1) {
                    arr1.push(arr[i]);
                }
            }
        }
    }
    console.log(arr1);

    for (var i = 0; i < arr.length; i++) {
        for (var j = i + 1; j < arr.length; j++) {
            //例如第一个,如果和第一个相比,那就把自己删除了,所以就错了,所以不能和自己比较
            //如果这个元素重复,就把这个数删除,删除之后,i的值就变了,但是在这一轮循环没有结束的时候i的值在这里是不会变的
            if (arr[i] == arr[j]) {
                //分析:一些不重复的元素被删除,为什么,就是i的值有问题
                //如果按照正常不会有问题,
                arr.splice(i, 1);
                i--;
                j--;
            }
        }
    }
    console.log(arr);
    </script>
</body>

</html>

 

以上是关于数组去重的主要内容,如果未能解决你的问题,请参考以下文章

C/C++系列数组去重代码实现

C/C++系列数组去重代码实现

C/C++系列数组去重代码实现

用最简短的代码搞定数组去重

php 多个 一维数组 去重 组成新数组

ES6 - 一条代码实现数组去重