demo27-数组去重

<!DOCTYPE html>
<html>

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

    <body>
    </body>
    <script type="text/javascript">
        var arr1 = [1, 2, 1, 2, 2, 3, 2, 1, 3, 4, 4, 5, 6, 9, 9]
        //声明空变量,装不重复的数据
        var arr2 = []

        //迭代需要去掉的重复数据
        for(var i = 0; i < arr1.length; i++) {
            //原来数据
            console.log("原来的数据是:" + arr1)
            //寻找当前索引出现的第一个位置
            //console.log(arr1.indexOf(arr1[i]) == i)
            //判断数组里面的值和索引是否相等,為true的就取出來
            //行吧,就是   arr1.indexOf(arr1[i]) == i  这句了.只要是数组里面的元素等于它对应的索引.
            //不对,实际上是另外一个数组[0,1,2,3,4...,arr.length-1] 和 arr里面的元素进行比较.只要相等,就取出来
            
            //arr1.indexOf(arr1[i])  这个意思是返回arr1数组中每一个元素在数组中第一次出现的索引值,
            //这样就保证了每个元素只会出现一次,然后拿这些索引去和i这个数组[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],   
            //进行比较    [0(1),1(2),5(3),9(4),11(5),12(6),13(9)]
            //简直是天才的想法.厉害厉害!
            //[0(1),1(2),5(3),9(4),11(5),12(6),13(9)]
            //[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]
            //console.log(arr1.indexOf(arr1[i]))
            
            if(arr1.indexOf(arr1[i]) == i) {
                arr2.push(arr1[i])
            }
        }
        console.log("去重后的数组:" + arr2)
    </script>

</html>
<!--
    数组去重:
    等下回来继续看看.可以了.就是多写了一个()
    调试:
    
-->

猜你喜欢

转载自www.cnblogs.com/huaibin/p/12595817.html