splice/slice/split的区别

本文详细介绍了JavaScript中的splice(), slice()及split()方法的使用方法。splice()用于修改数组内容,slice()用于提取字符串部分片段,而split()则用于将字符串分割为数组。文中通过实例展示了这些方法的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

arrayObject.splice(index,howmany,item,......,itemX)

参数index,必需,整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
参数howmany,必需,要删除的项目的数量,若为零,则不会删除项目。
参数item1,…,itemX,可选,向数组添加项目。
返回值为array,如果有删除,则会包含被删除的新项目。
说明:splice()方法可删除从index处开始的零个或多个元素,并且用参数列表中的一个或多个值来替换那些被删除的元素。如果从arrayObject中删除了元素,则返回的是含有被删除的元素的数组。
创建一个新数组,并添加一个元素
例如:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />")

</script>

输出

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

删除位于index2的元素并添加一个新元素来替代被删除的元素
例如:

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,1,"William")
document.write(arr)

</script>

输出:

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

删除从index2开始的第三个元素,并添加一个新元素来替代被删除的元素

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,3,"William")
document.write(arr)

</script>

输出:

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

slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。
用法:stringObject.slice(start,end)
参数start,要抽取的片段的起始下标,如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。如-2指的是倒数第二个字符,
参数end,紧接着要抽取的片段的结尾下标,若没有指定此参数,则要提取的字符串包括start到原始字符串的结尾字符串,如果为负数,则是从字符串的尾部开始算起。
返回值是一个新的字符串,从start开始到end为止(不包括end)的字符串。
例如从位置6开始提取的所有字符

<script type="text/javascript">

var str="Hello happy world!"
document.write(str.slice(6))

</script>

输出

happy world!

提取从位置6到位置11的所有字符

<script type="text/javascript">

var str="Hello happy world!"
document.write(str.slice(6,11))

</script>

输出

happy

split()方法用于将一个字符串分割成一个数组
stringObject.split(separator,howmany)
参数separator,必须,字符串或正则表达式,从该参数的指定的地方分割stringObject
参数 howmany,可选,返回指定数组的最大长度,若设置,返回的子串不会多于这个参数指定的数组,若没有设置,整个字符串都会被分割,不考虑长度
返回值:
一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。
但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(不包括与整个正则表达式匹配的文本
注意:如果把空字符串 (“”) 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
按照不同方式分割字符串,例如

<script type="text/javascript">

var str="How are you doing today?"

document.write(str.split(" ") + "<br />")
document.write(str.split("") + "<br />")
document.write(str.split(" ",3))

</script>

输出

How,are,you,doing,today?
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
How,are,you
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值