参数 | 描述 |
---|---|
start | 可选。规定从字符串或者数组何处开始选取。如果是负数,那么它规定从尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。如果没有指定该参数,则返回自身的一个副本。 |
end | 可选。规定从字符串或者数组何处结束选取。该参数是结束处下标。如果没有指定该参数,那么从 start 到结束的所有元素。如果这个参数是负数,那么它规定的是从尾部开始算起的元素。 |
注意:
参数范围[start, end)
注意:字符串
或数组
调用时,如果 start
大于等于end
,返回空字符串或空数组。
const str = '0123456789'
const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
str.slice() // 0123456789
str.slice(3) // 3456789
str.slice(3, 6) // 345
str.slice(-3) // 789
str.slice(-4, -1) // 678
str.slice(6, 3) // ''
str.slice(3, 3) // ''
----------------------------------------------------------
arr.slice() // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
arr.slice(3) // [3, 4, 5, 6, 7, 8, 9]
arr.slice(3, 6) // [3, 4, 5]
arr.slice(-3) // [7, 8, 9]
arr.slice(-4, -1) // [6, 7, 8]
arr.slice(6, 3) // []
arr.slice(3, 3) // []
参数 | 描述 |
---|---|
start | 可选。规定字符串何处开始选取。如果是负数,那么它规定从字符串尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。如果没有指定该参数,则返回字符串自身。 |
length | 可选。返回的子字符串中应包括的字符个数。 |
注意: 如果 length
为 0 或负数,将返回一个空字符串。
const str = '0123456789'
str.substr() // 0123456789
str.substr(3) // 3456789
str.substr(3, 6) // 345678
str.substr(-3) // 789
str.substr(-4, -1) // ''
参数 | 描述 |
---|---|
start | 可选。一个非负的整数,规定字符串何处开始选取。 |
stop | 可选。一个非负的整数,规定从字符串何处结束选取。该参数是结束处下标。如果没有指定该参数,那么从 start 到字符串结束的所有元素。 |
注意:
参数范围[start, stop)
const str = '0123456789'
str.substring() // 0123456789
str.substring(3) // 3456789
str.substring(3, 6) // 345
str.substring(-3) // 0123456789
str.substring(3, -6) // 012
str.substring(3, 3) // ''
一些简单应用示例
const str = '0123456789'
// 指定位置插入字符
const insertStr = (str, index, changeStr) => {
return str.substring(0, index) + changeStr + str.substring(index)
}
// 指定位置替换字符
const replaceStr = (str, start, end, changeStr) => {
return str.substring(0, start) + changeStr + str.substring(end + 1)
}
insertStr('0123456789', 3, '欧尼酱') // 012欧尼酱3456789
replaceStr('0123456789', 3, 6, '欧尼酱') // 012欧尼酱789