js中的slice与splice区别(js字符串截取split)

admin 517 0

大家好,今天给各位分享js中的slice与splice区别的一些知识,其中也会对js字符串截取split进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

一、js里相似的方法比较系列(二)slice,splice,split方法区别

不知道大家对 slice, splice, splite是肿么样的感觉,反正我刚接触到这三个函数的时候整个人都懵了,因为一个个长的跟孪生兄弟似的,每次用的时候都会混,甚至懒得记住他们的功能。所以为了帮组和我一样有困扰的人,我们来解决它。

三个方法除了长得像,其实功能完全不一样,为了帮助记忆,先总结一下:

1. slice是 Array和 String都有的方法,功能也和字符串的 slice是一样,截取区间值用的。 String的slice()方法请看上篇文章: js里相似的方法比较系列(一)String的slice,substring,substr方法区别。

2. splice仅是数组 Array的方法,splice比slice外观上多个p,这一个p蹦出了天差地别,功能超级强大。它能用来插入、删除甚至替换数组的元素。

3. split仅仅是字符串的方法,外观上也有p,但是少了ce,还多了个t。这个t厉害了,一脚把字符串踢成了多段,吓得字符串变成了数组。没错, split()方法就是用来把一个字符串分割成字符串数组。

解释: slice()该方法用于对数组进行部分截取,并返回一个数组副本;参数 start是截取的开始数组索引, end参数等于你要截取的最后一个元素的索引位置加上1的值(可选)

用法:array.splice(start, deleteCount, item,…..,itemX)

解释: splice()方法用于插入、删除或替换数组的元素。 splice方法从 array中移除一个或多个元素,如果你愿意的话可以用新的item替换它们。参数start是从数组array中移除元素的开始位置。参数 deleteCount是要移除的元素的个数。

如果有额外的参数,那么 item,…..,itemX会插入到被移除元素的位置上。

splice()方法返回一个包含被移除元素的数组。

用法:string.split(separator, limit)

解释: split()方法用于把一个字符串分割成字符串数组。把这个 string分割成片段来创建一个新的字符串数组,但不改变原始字符串。

separator参数可以是一个分隔符,它可以是字符串或一个正则表达式。如果 separator是一个空字符(‘’),会返回一个单字符的数组。

limit(可选参数)可以限制被分割的片段数量。

今天就到这吧,下一节我们讲解“js相似方法比较系列(三)charAt,indexof,findIndex,lastindexof,includes,find的区别”,敬请期待~!

https://www.cnblogs.com/webjoker/p/5218114.html

https://blog.csdn.net/yw00yw/article/details/81063038

二、splice和slice的区别

1、 splice和slice的区别:slice的操作不影响原数组。会返回所选择的元素。splice往数组中指定位置添加或删除元素,会影响原数组。返回被删除的元素。

2、 start:必需。起始元素,使用负数可从数组结尾处规定位置。

3、 end:可选。截止元素(截取不包含此元素)。

4、 array.splice(index, howmany, item1,…, itemX);

5、 index:必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

6、 howmany:必需。要删除的项目数量。如果设置为 0,则不会删除项目。

7、 item1,…, itemX:可选。向数组添加的新项目。

三、slice方法 和splice 方法的区别

1、splice()方法用于插入、删除或替换数组的元素。

2、slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

3、splice的参数:splice(start, deleteCount, [item1[, item2[,... [,itemN]]]])

4、数组从 start下标开始,删除deleteCount个元素,并且可以在这个位置开始添加 n个元素

5、当start,deleteCount均为0的时候,也就是在数组的最前面插入新的元素。

6、当参数只有 start,deleteCount就是从start下标开始删除deleteCount个数组的元素,

7、当参数只有start参数时,就是删除从start下标起至最后的元素

8、当参数为负的时则该参数规定的是从数组元素的尾部开始算起的位置(-1指的是数组中倒数第一个元素,-2指的是,数组中倒数第二个元素。)

9、slice参数: slice(start,end);

10、slice方法,在string对象和array对象的用法上类似。

11、对于数组对象来说,slice方法提取从 start下标起以end下标为结尾的一段元素(但不包括end下标的元素),然后返回新的数组,对原数组没有任何是影响,

12、当参数为负时则该参数是从数组的末尾索引开始算起,(-1指的是数组中倒数第一个元素,-2指的是,数组中倒数第二个元素。)

13、当参数为一个参数,当为一个参数时,提取是以 start下标起至末尾的部分元素。

14、当start为0时,等于说是克隆一个新的数组,克隆后两个数组进行各自的操作,都互不影响,

四、关于slice、splice 记忆和区分

1、你是不是也很烦,记不住 slice()和 splice()的用法,隔一段时间,再用时就得翻文档。比如说:

2、本文将会介绍这些内容,如果没时间或直接看结论的,请滑动鼠标至文末。

3、 begin和 end都是可选的。返回一个新的数组,是由 begin和 end决定的原数组的浅拷贝(包括 begin,不包括 end)。通俗地讲,就是截取原数组的一部分,并返回截取部分,且“不改变”原数组。

4、字符串也有一个类似的方法: String.prototype.slice(),它用来提取字符串的某一部分,并返回一个新的字符串,且不会改变原字符串。语法如下:

5、讲真的,它跟 slice()长得像不说,还容易混淆,隔一段时间不用,都得翻一下文档确认一下。

6、所有参数都是可选的。从 MDN上的表述看,参数 start应该不能缺省的,但实际并不会报错,因此可认为是全可选的。 splice()返回被删除的元素所组成的一个新数组,若没有删除,则返回空数组( [])

7、顺道提一下,其实 split()这个就很简单了,常用于字符串转为数组、解析 URL参数等场景。

8、在字符串与数字切换,常用到 String.prototype.split()、 Array.prototype.join()、 Array.prototype.reverse()方法。

9、参数 separator和 limit都是可选的。若缺省 separator时,返回的数组包含一个由整个字符串组成的元素。而 limit的作用是返回分割片段的数量。

10、 separator可以是字符串,也可以为正则表达式,它适合提取一些不太规则的字符串。

11、假设有以下两个字符串,我们要把月份提取出来,并返回数组:

12、本文,主要是讲解 slice()和 splice()方法及其区别。好吧,面试官也喜欢问这俩货。

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!