slice与splice的区别

好长时间没有更博客了,最近实在是一擦事儿接一茬事儿,我得博客简直要荒废了哈哈~~~

今天咱们来闲谈一下splice和slice的区别,今天写原生js时突然用到居然想不起来了哈哈,真是伤了年纪的人记性真的伤不起

好啦~~~切入正题

其实splice和slice是很相像的,从字面上来看,splice 就比slice多了一个p。

One by one.一个一个来讲


先来扯扯slice的用法:

参考文档:http://www.w3school.com.cn/jsref/jsref_slice_array.asp


slice是从已有的数组中返回选定的元素


语法结构:

arrayObject.slice(start,end)

slice有两个参数:、

第一个参数是开始下标的位置,如果是如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

第二个参数是结束下标的位置,如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素


返回值:

是从 start 到 end (不包括该元素)的 arrayObject 中的元素。


废话不多说,直接举栗子:


两个参数都有的情况如下;

	
输出结果就是2,3


只有一个参数的情况如下:

	
输出结果就是4,5,6,7,8,9


slice截取过后数组:

	

返回值依旧是1,2,3,4,5,6,7,8,9


接下来再来说说splice的用法:

参考文档;http://www.w3school.com.cn/jsref/jsref_splice.asp


splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。


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

第一个参数:是开始位置的下标,若为负数,从末尾位置开始,若为-1就是倒数第一个数,若为-2就是倒数第二个数,依次类推。

第二个参数:要删除数组的长度。若为0,则不被删除。

item1,.....,itemX 是可选的,用于向数组添加新项目


返回值是: 包含被删除项目的新数组。


举个栗子


删除数组

	
返回值就是1,2,3,4,5


添加数组:

	
返回值是a,6,7,8,9


splice截取过后数组:

	
返回值是6,7,8,9


综上所述:slice截取数组之后不会改变改变原来的数组值,而splice截取数组之后会改变原来的数组。

如果觉得我的文章对您有用,请动动你尊贵的小指头,赏个赞~~
您的鼓励将是让我源源不断创作的无限鼓励









你可能感兴趣的:(slice与splice的区别)