数组去重使用splice方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        //  splice 手术刀
        // 数组的方法 添加 插入 替换 删除
        // var arr = [1,2,3,4,5]
        // arr.splice("从什么位置开始","删除多少元素","插入的内容") 
        // 并且返回被删除元素组成的新数组


        // var a =  arr.splice(0,2,1,2,3)
        // var a =  arr.splice()//返回空数组
        // var a =  arr.splice(1)//第二个参数不填 意味着删除到尾部
        // var a =  arr.splice(-2)//从倒数第二个开始删除 删除到尾部
        // var a =  arr.splice(0,1,-1)
        // var a =  arr.splice(-1,1,0)
        // var a =  arr.splice(-3,2,10,11)
        // var a =  arr.splice(2,0,10)//插入
        // 34 ==> 10 11

        // 不怎么用 性能差劲

        // 数组元素过多 需要拆封 再插入 上万条元素的数组才叫做过多

        // 循环都有时间差 循环十亿次 就会产生时间差了
        // console.log(arr,a)

        // 数组去重
        // 用一个空数组去装元素 然后进行判断 有了就不装 没有就装
        var arr = [1,2,3,3,3,3,3,3,,4,5,6,6,7,7,2,3,3,3,2,12,31,3,]
        var arr1 = []
        for(var i = 0;i<arr.length;i++){
            var bool = true;
            for(var j = 0;j<arr1.length;j++){
                if( arr[i] === arr1[j] ){
                   bool = false 
                   break 
                }
            }
            if(bool){
                arr1.push(arr[i])
            }
        }
        console.log(arr1)



        // 用splice来进行重复元素的删除
        // var len = arr.length;
        // for(var i = 0;i<arr.length;i++){
        //     var item = arr[i]
        //     for(var j = i+1;j<arr.length;j++){
        //         if(item === arr[j]){
        //             arr.splice(j,1)
        //             j--
        //         }
        //     }
        // }
        // console.log(arr)
    </script>
</body>
</html>
上一篇:02-02


下一篇:【抽奖】前端js实现抽奖功能