zoukankan      html  css  js  c++  java
  • splice方法以及如何实现数组去重

    今天来说一下splice方法,当然也属于数组中的方法。关于splice方法,先说一下它的定义:splice()将删除从start开始(包括start所指的元素在内)的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。位于插入或删除的元素之后的数组元素都会被移动,以保持它们与数组其他元素的连续性。注意,虽然spllce()方法与slice()方法名字相似,但作用不同,方法splice()直接修改数组。它返回的内容是:如果从array中删除了元素,返回的是含有被删除的元素的数组。但是要注意,由于存在—个bug,因此在JavaScriptl.2的Netscape实现中,返回的并不总是数组。

    splice( start , deleteCoun t, value,... ),这个方法有三个参数,分别代表:

    start:开始插入和(或)删除的数组元素的下标。

    delectCount:从start开始,包括start所指的元素在内要删除的元素个数。这个参数是可选的,如果没有指定它,splice()将删除从start开始到原数组结尾的所有元素。

    value , ...   :要插人数组的零个或多个值,从start所指的下标处开始插入。

    来举例说明:

    window.onload=function(){
           var arr = [1,3,4,5,3,4];
            //删除作用
            arr.splice(0,2);
            console.log(arr); //[4,5,3,4],返回的是1,3
         
        }
    window.onload=function(){
           var arr = [1,3,4,5,3,4];
            //替换作用
            arr.splice(1,2,'aaa');
            console.log(arr); //[1,'aaa',5,3,4],返回的是3,4
    
        }
    window.onload=function(){
           var arr = [1,3,4,5,3,4,8,9,8];
            //添加
            arr.splice(3,0,'aaa');
            console.log(arr); //  [1, 3, 4, "aaa", 5, 3, 4],返回的是[ ]
        }

    接下来用splice实现数组去重实例:

    window.onload=function(){
           var arr = [1,3,4,5,3,4,8,9,8,4];
    
            for(var i=0;i<arr.length;i++){
                for(var j=i+1;j<arr.length;j++){
                    if(arr[i]==arr[j]){
                        arr.splice(j,1);
                        j--
                    }
                }
            }
           console.log(arr) //[1,3,4,5,8,9]
    }

    当然数组去重的方法有很多种,这也是通过将数组里的内容一一比较,相等的用splice方法将其去除,直到去除干净。也就是通过for循环,来找出相同的然后去除。方法有很多种,都可以试试,今天就写到这里,个人愚见,希望对大家有帮助!

  • 相关阅读:
    排序比较与总结
    Oracle误删恢复
    DSP TMS320C6000基础学习(4)—— cmd文件分析
    NYOJ 488 素数环
    Oracle常用语句记录
    Cocoa编程开发者手册
    Unity3d物体模型(实现旋转缩放平移自动旋转)
    django 创建一个通用视图
    ContentResolver + SqliteOpenHelper + ContentProvider 理解
    线性回归,logistic回归和一般回归
  • 原文地址:https://www.cnblogs.com/web001/p/8298978.html
Copyright © 2011-2022 走看看