猿问

js数组去重复

    isRepeat()

    function isRepeat() {

        var $array = [0, 0, 0, 0, 0, 0, 0, 1]

        console.log($array.length)

        for (i = 0; i < $array.length; i++) {

            if ($array[i] > 0) {

                console.log($array)

            } else {

                $array.splice(0, 1)

                console.log($array)

                console.log($array.length)

            }


        }

    }

    为什么数组length变4后就不动了啊?我想去下前面没用的0比如0000000001,000000002,最后只剩下有效数字!


桃花长相依
浏览 570回答 1
1回答

扬帆大鱼

因为你的$array.length一直在变啊for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;<&nbsp;$array.length;&nbsp;i++)&nbsp;{}循环到第四次的时候,i 等于 4 ,$array.length 也是 4 呢然后如果只是要达到说000001变成1的话,直接转换下数据类型就好啦Number("0000001")&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;这样就变成数字1啦Number(0000001)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;这样也可以变成数字1啦并不需要js函数处理
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答