JS中substring()和slice()和substr()区别

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

语法:

stringObject.substring(start,stop)

返回值:

一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stopstart

说明:

substring() 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。

如果参数 startstop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 startstop 大,那么该方法在提取子串之前会先交换这两个参数。

例子:

输出:

lo world!


slice() 方法可从已有的数组中返回选定的元素。

语法:

arrayObject.slice(start,end)
返回值:

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

说明:

请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

提示和注释:

1.您可使用负值从数组的尾部选取元素。

2.如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

例子:

输出:

George,John,Thomas
John,Thomas
George,John,Thomas
例子:


输出:

George,John,Thomas,James,Adrew,Martin
Thomas,James
George,John,Thomas,James,Adrew,Martin


substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

语法:

stringObject.substr(start,length)

返回值:

一个新的字符串,包含从 stringObjectstart(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 startstringObject 的结尾的字符。

提示和注释:

substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。

重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。

例子:

输出:

lo worl



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

注释:该方法会改变原始数组。


语法:

arrayObject.splice(index,howmany,item1,.....,itemX)
返回值:

Array:包含被删除项目的新数组,如果有的话。


说明:

splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。


提示和注释:

请注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改。

例子:


输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin

例子:


输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,James,Adrew,Martin


例子:

输出:

George,John,Thomas,James,Adrew,Martin
George,John,William,Martin











你可能感兴趣的:(javascript,substring,slice,substr)