阿牛博客

substring()、substr()、 slice()、 splice() 、 split()几个函数的使用区别

这几个函数有时候经常会搞混,在这里总结一下:
目录:
一、substring()
二、substr()
三、slice()
四、splice()
五、split()

一、stringObject .substring(start,stop)–(用于字符串)

该方法用于提取字符串中介于两个指定下标之间的字符。
start: 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop: 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1(即最后一个数值减一的数)。
如果省略该参数,那么返回的子串会一直到字符串的结尾。

ex1:

ex2:

注:与 slice() 和 substr() 方法不同的是,substring() 不接受负的参数。

二、stringObject.substr(start,length)–(用于字符串)

该方法可在字符串中抽取从 start 下标开始的指定数目的字符。
start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
注:substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。
ECMAscript 没有对该方法进行标准化,因此反对使用它。

ex1:

ex2:

三、[stringObject,arrayObject].slice(start,end)—(用于数组和字符串)

该方法可从已有的字符串或数组中返回选定的元素。 //可以传递负数
注释:该方法不会改变原始数组。
start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

ex1:

ex2:

ex3:

四、arrayObject.splice(index,howmany,item1,…..,itemX) –(用于数组)

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。 是删除还是添加看第二个参数
注释:该方法会改变原始数组。
index : 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany: 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1…itemX : 可选。向数组添加的新项目。
返回值 Array 包含被删除项目的新数组,如果有的话。

ex1:(向数组 index 0里面添加一个元素)

ex2:(删除位于 index 2 的元素,并添加一个新元素来替代被删除的元素)

五、stringObject.split(separator,howmany)–(用于字符串)

split() 方法用于把一个字符串分割成字符串数组。
在String中 split(separator,howmany)
separator:必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany: 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

ex1:

总结:
substr() 、substring() 取出字符串的项; slice() 取出字符串和数组的项 ;splice() 在Array中从数组中添加/删除项目,然后返回被删除的项目 ;split()—将字符串分割出一个数组;

给个赞() 踩一下()

温馨提示:本站文章除注明转载外,均为原创文章,会经常更新知识点以及修正一些错误,因此转载请保留原出处,方便溯源,避免陈旧错误知 识的误导,同时有更好的阅读体验。

本文链接: http://aniublog.com/archives/300

上一篇: 焦点图小插件-可兼容pc和手机端 » 下一篇: 关于vue中iconfont字体图标显示乱码处理 »