splice、slice、split、substr、substring、match、replace的区别

  • Post author:
  • Post category:其他


1、splice()

splice() 方法用于

添加



删除数组

中的元素。

注意:这种方法会改变原始数组。

语法:

array.splice(index,howmany,item1,.....,itemX)

参数解释:

参数 描述
index 必需。数组元素的下标,规定从何处添加/删除元素
howmany 可选。规定应该删除多少元素
item1, …, itemX 可选。要添加到数组的新元素

实例:

// 往数组里添加元素
let arr = ["a", "b", "c", "d"]
arr.splice(1, 0, "e", "f")
console.log(arr) // ['a', 'e', 'f', 'b', 'c', 'd']
// 删除数组元素并插入新元素
let arr1 = ["a", "b", "c", "d"]
arr1.splice(1, 2, "e", "f")
console.log(arr1) // ['a', 'e', 'f', 'd']
// 删除数组元素
let arr2 = ["a", "b", "c", "d"]
let delArr2 = arr2.splice(2, 1)
console.log('arr2:',arr2, 'delArr2:',delArr2) // arr2: ['a', 'b', 'd'] delArr2: ['c']

2、slice()

slice() 方法可

截取数组/字符串

中选定的元素。

注意: slice() 方法不会改变原始数组。

语法:

// 数组
array.slice(start, end)
// 字符串
string.slice(start,end)

参数解释:

参数 描述
start 可选。规定从何处开始截取。如果是负数,则从数组/字符串尾部开始算起的位置(倒数)
end 可选。规定从何处结束截取(不包含该下标元素)。如果是负数, 则从数组/字符串尾部开始算起的位置(倒数)

实例:

/********* 数组 **********/
let arr = ["a", "b", "c", "d"]
// 截取下标为1(包含)到3(不包含)的元素
let sliceArr = arr.slice(1, 3)
console.log("arr:", arr, "sliceArr:", sliceArr) // arr: ['a', 'b', 'c', 'd'] sliceArr: ['b', 'c']
// 截取下标为1及后面的元素
let sliceArr2 = arr.slice(1)
console.log(sliceArr2) // ['b', 'c', 'd']
// 截取最后3个元素
let sliceArr4 = arr.slice(-3)
console.log(sliceArr4) // ['b', 'c', 'd']
// 截取倒数第3(包含)到倒数第1(不包含)的元素
let sliceArr3 = arr.slice(-3, -1)
console.log(sliceArr3) // ['b', 'c']
// 截取倒数第3(包含)到顺数下标为3(不包含)的元素
let sliceArr5 = arr.slice(-3, 3)
console.log(sliceArr5) // ['b', 'c']

/********* 字符串 **********/
let str = "abcdefgh"
// 截取第2(包含)到第4(不包含)的元素
let sliceStr = str.slice(1, 4)
console.log("str:", str, "sliceStr:", sliceStr) // str: abcdefgh sliceStr: bcd
// 截取倒数第3及后面的元素
let sliceStr2 = str.slice(-3)
console.log(sliceStr2) // fgh

3、split()

split() 方法用于把一个

字符串分割

成字符串数组。

注意: split() 方法不改变原始字符串。

语法:

string.split(separator,limit)

参数解释:

参数 描述
separator 可选。字符串或正则表达式,从该参数指定的地方分割 string Object。
limit 可选。该参数可指定返回的数组的最大长度。

实例:

let str = "You are my sunshine!"
// 分割每个字符,包括空格
let splitStr = str.split("")
console.log(splitStr) // ['Y', 'o', 'u', ' ', 'a', 'r', 'e', ' ', 'm', 'y', ' ', 's', 'u', 'n', 's', 'h', 'i', 'n', 'e', '!']
// 以空格作为分割符
let splitStr2 = str.split(" ")
console.log(splitStr2) // ['You', 'are', 'my', 'sunshine!']
// 不填参数
let splitStr3 = str.split()
console.log(splitStr3) // ['You are my sunshine!']
// 以一个字符(u)作为分割符
let splitStr4 = str.split("u")
console.log(splitStr4) // ['Yo', ' are my s', 'nshine!']
// 以空格作为分割符,并使用limit参数指定返回的数组长度
let splitStr5 = str.split(" ", 2)
console.log(splitStr5) // ['You', 'are']

4、substr()

substr() 方法可在

字符串

中抽取从 开始 下标开始的指定数目的字符。

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

注意: substr() 方法不会改变源字符串。

语法:

string.substr(start,length)

参数解释:

参数 描述
start 必需。要抽取的子串的起始下标。如果是负数,则从字符串的尾部开始算起的位置
length 可选。抽取的长度

实例:

let str = "You are my sunshine!"
// 从字符串第6(下标为5)个位置开始提取
let substrVal = str.substr(5)
console.log(substrVal) // re my sunshine!
// 从字符串第5个位置开始提取8个字符
let substrVal2 = str.substr(4, 8)
console.log(substrVal2) // are my s

5、substring()

substring() 方法用于提取

字符串

中介于两个指定下标之间的字符。

substring() 方法返回的子串包括 开始 处的字符,但不包括 结束 处的字符。

语法:

string.substring(from, to)

参数解释:

参数 描述
from 必需。一个非负的整数,规定要提取的子串的第一个字符在 string Object 中的位置
to 可选。一个非负的整数,比要提取的子串的最后一个字符在 string Object 中的位置多 1

实例:

let str = "You are my sunshine!"
// 从第3(下标位2)位开始提取到最后
let substringVal = str.substring(2)
console.log(substringVal) // u are my sunshine!
// 提取下标为4(包含)到下标为10(不包含)的子串
let substringVal2 = str.substring(4, 10)
console.log(substringVal2) // are my

6、match()

match() 方法可在

字符串

内检索指定的值,或找到一个或多个正则表达式的匹配。

语法:

string.match(regexp)

参数解释:

参数 描述
regexp 必需。规定要匹配的模式的 RegExp 对象。

实例:

let str = "You are my sunshine! You are my light!"
// 全局查找字符串 "my"
let matchStr = str.match(/my/g)
console.log(matchStr) // ['my', 'my']

7、replace()

replace() 方法用于在

字符串

中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

语法:

string.replace(searchvalue,newvalue)

参数解释:

参数 描述
searchvalue 必需。规定子字符串或要替换的模式的 RegExp 对象。
newvalue 必需。用于替换的字符串值

实例:

let str = "You are my sunshine! You are my light!"
// 替换字符串中找到的第一个字符"my"为"her"
let replaceStr = str.replace("my", "her")
console.log(replaceStr) // You are her sunshine! You are my light!
// 全局替换"my"为"her"
let replaceStr2 = str.replace(/my/g, "her")
console.log(replaceStr2) // You are her sunshine! You are her light!

感谢您读完本文!如果本文对您有帮助,请点个赞呗,您的点赞是对我最大的支持和认可!

我的公众号:

大前端教程

,欢迎关注,会定期更新前端知识,希望能帮到您。



版权声明:本文为w544924116原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。