天天看点

理解splice数组方法

简单快速理解数组splice方法

splice方法功能强大,能简单快速实现遍历类方法加push等组合功能

下面小小的demo来总结下,帮助更快理解splice使用

//splice改变原始值
        var arr = [1, 2, 3, 4, 5, 6, 7, 8]
        var arr1 = [1, 2, 3, 4, 5, 6, 7, 8]
        var arr2 = [1, 2, 3, 4, 5, 6, 7, 8]
        //一个参数
        arr.splice(1)        //删除index下标为1(包含)之后的所有
        console.log(arr);
        //两个参数
        arr1.splice(1, 2)      //删除index下标为1(包含)之后的2位
        console.log(arr1)
        //三个参数
        arr2.splice(1, 0, 9, 10)   //如第二个参数为0或负数,则在index为1的位置向数组内添加
        console.log(arr2);  // [1, 9, 10, 2, 3, 4, 5, 6, 7, 8]
        arr2.splice(1, 1, 10)     //如第二参数不为0,则删除index为1位置的数值,添加后面参数到数组
        console.log(arr2);  //[1, 10, 10, 2, 3, 4, 5, 6, 7, 8]
        arr2.splice(1, 0)           //如要对数组内容进行修改则第三个参数不能为空
        console.log(arr2);  //[1, 10, 10, 2, 3, 4, 5, 6, 7, 8]
           

总结:

一个参数的情况下:是删除的start(包含index本身的元素)和之后所有的元素;

两个参数:第一个参数是要删除的start(包含index本身的元素),第二个是删除的的元素;

三个参数或者多个参数:第一位是索引的start,第二个是删除的个数(包含index本身的元素),第三个参数几多个后面的参数是要在start索引位置要添加的元素

MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/splice