关于JavaScript的splice 和slice 方法小结

W3School上面讲的很详细了,但是还是想总结一下下
splice和slice看起来很相似,具体的用法也老是模糊不清

定义与用法

splice:该方法 会 改变原始 数组,向/从数组中添加/删除项目,然后返回被删除的项目。(增删改)
slice():该方法 不会 改变原始 数组,可从已有的数组中返回选定的元素。(查)


splice语法:arrayObject.splice(index,howmany,item1,…..,itemX)

splice参数 描述

  • index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
  • howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
  • item1, …, itemX 可选。向数组添加的新项目。

slice语法:arrayObject.slice(start,end)

slice参数 描述

  • start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2
    指倒数第二个元素,以此类推。
  • end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start
    到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
方法 slice splice
参数 index,end index,lendth,para1,para2
用法 查:从index到end 的元素 改:从index往后length长度的元素替换为para1,para2…
备注 1.不改变原数组
2.返回值是index~end-1
3.下标不包括end
4.end缺省,查到数组最后一个
5.index为负数,倒数index个往后查
1.改变原数组
2.返回值是index~index+length-1 的数组
3.下标不包括index+length
4.end缺省,改:index~最后
5.index为负数,倒数index个往后改
实例 var arr = [1,2,3,4,5,6,7];
取第5个数:arr.slice(4,5);//[5]

取倒数第2个数:arr.slice(-2,-1);//[6]

取前3个数:arr.slice(0,3);//[1,2,3]

取第4,5个数:arr.slice(3,5);//[4,5]

取第4个数往后:arr.slice(3);//[4,5,6,7]

取最后3个数:arr.slice(-3);//[5,6,7]
var arr = [1,2,3,4,5,6,7];
删第5个数:arr.splice(4,1);//返回:[5],arr:[1,2,3,4,6,7]

删倒数第2个数arr.splice(arr.length-1-1,1);//返回:[6],arr:[1,2,3,4,5,7]

删除前3个数:arr.splice(0,3);//返回[1,2,3],arr:[4,5,6,7]

删除最后3个数:arr.splice(arr.length-1-2);//返回:[5,6,7],arr:[1,2,3,4]

替换第3个数为“a”:arr.splice(2,1,”a”)//返回:[3],arr:[1,2,”a”,4,5,6,7]

替换第3,4个数为”a”,”b”,”c”:arr.splice(2,2,”a”,”b”,”c”)//返回:[3,4],arr:[1,2,”a”,”b”,”c”,5,6,7]

你可能感兴趣的:(JavaScript)