JavaScript 数组去重

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数组去重</title>
    <script>
        window.onload = function(){

            var aList = [6,7,2,5,1,5,2,4,6,7,8,1,4,6,7,8,4,1,2,3,5,6,7,8,4,6,7,3,5,6,7,4,3,2,12,4,22,7,3,3,4,5,7,9,6,4,3,3];

            var iLen = aList.length;

            // var sList = '';
            // 在创建空数组的时候应该使用 var 变量 = [] ; 
            // 不确定数组类型的话, 一些方法在后方无法使用, 例如push();

            var sList =[] ;
            var sTr = '' ;

            for(i=0;i<iLen;i++){

                 sTr = aList[i]

                if (i == aList.indexOf(sTr)){

                    // 这里对比相同内容下标索引, 第一个索引 & 当前索引. 
                    //  如相同, 则添加.  如不同, 则证明重复出现.

                    sList.push(sTr);
                }
            }

            alert(sList);
            
        }

    </script>
</head>
<body>
    
</body>
</html>

JavaScrip中, 数组去重的思路就是. 在IndexOf内容的时候, 会返回数组中第一次出现该值的位置. 从而完成的.

知道了这个原理之后, 把数组中的内容挨个遍历一遍,并判断, 当前内容所在的index和IndexOf取出来的索引, 是否相同.

相同, 则证明所验证的是列表中唯一的一个内容.

不同, 则证明该内容在列表中至少存在两次.

从而完成去重的过程.

原文地址:https://www.cnblogs.com/jrri/p/11347308.html