slice、substring、substr

💜slice

定义

从已有的数组中返回[start,end)的元素。浅拷贝,不会修改数组,返回一个子数组。字符串的slice方法类似。

语法

arrayObject.slice(start,end)
stringObject.slice(start,end)
参数 描述
start 可选。规定从何处开始选取。
如果为负数,则表示从原数组中的倒数第几个元素开始提取。slice(-2) 表示提取原数组中的倒数第二个元素到最后一个元素(包含最后一个元素)。
如果省略 begin,则 slice 从索引 0 开始。
如果 begin 大于原数组的长度,则会返回空数组。
end 可选。规定从何处结束选取。
如果为负数, 则表示在原数组中的倒数第几个元素结束抽取。slice(-2,-1) 表示抽取了原数组中的倒数第二个元素到最后一个元素(不包含最后一个元素,也就是只有倒数第二个元素)。
如果省略end,则 slice 会一直提取到原数组末尾。
如果 end 大于原数组的长度,slice 也会一直提取到原数组末尾。

💚substring

定义

提取字符串中介于[start.end)之间的字符。返回新字符串。

语法

stringObject.substring(start,stop)
参数 描述
start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

重要事项:slicesubstr方法不同的是,substring不接受负的参数。

如果参数 startstop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

如果 startstop 大,那么该方法在提取子串之前会先交换这两个参数。

💚substr

定义

在字符串中抽取从 start 下标开始的指定数目的字符。返回一个新的字符串。

语法

stringObject.substr(start,length)
参数 描述
start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

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

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

posted @ 2020-11-23 16:53  wattmelon  阅读(93)  评论(0编辑  收藏  举报