区分substr、substring、slice、split、splice

1.substring(startIndex,endIndex) -- 不改变原字符串,返回截取后的字符

substring() 方法返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集。

  • startIndex --- 需要截取字符的起始索引,索引对应的字符是截取出来的字符串的首字母
  • endIndex --- 可选参数
    • endIndex 为正数且大于startIndex ,substring将截取 startIndex - endIndex 之间的字符
    • endIndex 小于startIndex或者为负数,substring将反向截取(如果任一参数小于 0 或为 NAN,则被当作 0)

按照索引截取startIndex 可以截取到startIndex 对应的字符,endIndex 只能截取到对应索引-1的字符,如果需要截取到末尾后几位,endIndex传入 str.length 方便计算
substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置

let str = '123456789'
str.substring()  // '123456789'

##只传入startIndex  将默认截取 startIndex 对应的字符为起点 至 字符串末尾
str.substring(5) // '56789' 

str.substring(2,6) // '34567'
str.substring(2,9) // '3456789'

##如果任一参数大于 str.length,则被当作 str.length
str.substring(2,100) //  '3456789' 

##如果 startIndex 大于 endIndex,则 substring 的执行效果就像两个参数调换了一样。见下面的例子。
str.substring(8,2) // '345678'

##如果任一参数小于 0 或为 NAN,则被当作 0
str.substring(8,-5) // '12345678' 

str.substring(2,8) //  返回'345678' 索引8对应的字符'8'截取不到,str.substring(2,str.length) 即可截取到9
2.substr(startIndex,number) --- 不改变原字符串,返回截取后的字符

substr并非JavaScript核心语言的一部分,未来将可能会被移除掉。尽可能使用substring 替代它

  • startIndex --- 需要截取字符的起始索引,索引对应的字符是截取出来的字符串的首字母
  • number --- (可选参数)需要截取的字符的长度,在startIndex截取的首字母基础上
let str = '123456789'

str.substr()  // '123456789'
str.substr(2)  // '3456789'

##返还长度为5,起始索引为2的字符串
str.substr(2,5)  // '3456789'
3.slice(startIndex,endIndex) --- 用于从一个数组中截取出一个新数组(不改变原数组),也可以用于截取字符串,但不建议使用slice()
let arr = [1,2,3,4,5,6,7,8,9]
let  str = '123456789'

arr.slice() // [1,2,3,4,5,6,7,8,9]
str.slice(2) // '3456789'

##只传入startIndex默认截取到最后一个值
arr.slice(2) // [3,4,5,6,7,8,9] 

##和substring一样 endIndex会选中endIndex对相应索引元素的前一个元素
arr.slice(2,6) // [3,4,5,6] 
str.slice(2,6) // '3456'
4.split() --- 用于将字符串分割为数组

split(separator,howmany)

  • separator --- (必传)字符串或正则表达式,从该参数指定的地方分割字符串。
  • howmany --- (可传)限定截取为数组后的数组长度
let str = "How are you doing today?"

str.split(" ") // ["How", "are", "you", "doing", "today?"]
str.split(/\s+/) //  ["How", "are", "you", "doing", "today?"]

##split后 再 拼接 ' ' 空字符串 最后得到的是处理后的字符串 
str.split(" ") + " " // "How,are,you,doing,today?"

## 3 限制截取后的数组长度
str.split(" ",3) //  ["How", "are", "you"]

5.splice() --- 用于操作数组内的值 删除/添加(会改变原始数组)

splice(index,howmany,add)

  • index --- (必传)
  • howmany --- (可选) 截取数组的长度
  • add --- (可选)向数组添加的参数
let arr = [1,2,3,4,5,6,7,8,9]

arr.splice(2) // [3, 4, 5, 6, 7, 8, 9] arr已被改变
console.log(arr)// [1 , 2]

arr.splice(2,5) //  [3, 4, 5, 6, 7] 截取到的数组的长度为5
console.log(arr) // [1, 2, 8, 9] 

##split 的第3个参数以及3以后的参数都看作为 add ,将原数组 index --- howmany 索引对应位置的值
arr.splice(2,5,'向数组添加的参数','我也是add参数',9527,'可以写多个')  // [3, 4, 5, 6, 7] 
console.log(arr) // [1, 2, "向数组添加的参数", "我也是add参数", 9527, "可以写多个", 8, 9]

【看完有收获请点个赞哦~~】

你可能感兴趣的:(区分substr、substring、slice、split、splice)