请问这个筛选重复数据的脚本问题在哪儿?

   <script type="text/javascript">
        $(function () {
            var arr = [1, 1, 2, 2, 3, 3];
            var result = [], isRepeated;
            for (var i = 0, len = arr.length; i < len; i++) {
                isRepeated = false;
                for (var j = 0, len = result.length; j < len; j++) {
                    if (arr[i] == result[j]) {
                        isRepeated = true;
                        break;
                    }
                }
                if (!isRepeated) {
                    result.push(arr[i]);
                }
            }
            alert(result);
        })
    </script>

如上是脚本最后可以弹出 1,2,3的效果,就是筛选重复数据。

给我一杯咖啡
浏览 1621回答 3
3回答

千秋此意

第7行改成:for (var j = 0; j < result.length; j++)这样每次循环 result.length 的值才会更新你原来那样写只是把初使的 result.length 赋值给 len(也就是len=0),所以你外面i循环完也不会走一次j循环

Tobey_滔

<script type="text/javascript">     $(function () {         var arr = [1, 1, 2, 2, 3, 3];         var result = [], isRepeated;         for (var i = 0, len = arr.length; i < len; i++) {             isRepeated = false;             for (var j = 0; j < result.length; j++) {                 if (arr[i] == result[j]) {                     isRepeated = true;                     break;                 }             }             if (!isRepeated) {                 result.push(arr[i]);             }         }         alert(result);     }) </script>你错误的原因是第二个循环的条件...因为第一个循环已经用了len..第二个循环再次给len赋值...导致出错了
打开App,查看更多内容
随时随地看视频慕课网APP