JavaScript学习--splice()函数详解

splice()函数详解

splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。

参数:

  1. index —— 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
  2. howmany —— 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
  3. item1, …, itemX —— 可选。向数组添加的新项目。

返回值

  1. Array —— 包含被删除项目的新数组,如果有的话。

一、情况一(只有一个参数)

splice(index) ——> 从index的位置开始,删除之后的所有元素(包括第index个)
若 index < 0 , 则删除最后-index个元素

  1. index初始值为0,index = 2 即从第三个元素开始,删除之后所有元素,包括第三个
	let array = [0,1,2,3,4,5,6]
    document.write("原数组为:"+ array + "<br />")
    let arrBack = array.splice(2)
    document.write("array:",array + "<br />")
    document.write("arrBack:",arrBack)

运算后的array:0,1
被删除的元素:2,3,4,5,6

在这里插入图片描述
2. 数组最后一个值对应的index=-1 index = -3即倒数第三个元素, 即从倒数第三个元素开始,删除之后的所有元素,包括倒数第三个

	  let array = [0,1,2,3,4,5,6]
	  document.write("原数组为:"+array + "<br />")
	  let arrBack = array.splice(-3)
	  document.write("array:",array + "<br />")
	  document.write("arrBack:",arrBack)

在这里插入图片描述

运算后的array:0,1,2,3
被删除的元素:4,5,6

二、情况二 (两个参数)

splice(index,howmany) ——> 删除从index位置开始的数,howmany为删除的个数
若 howmany 小于等于 0,则不删除

  1. 删除从index=2 即第三个元素开始,删除一个,即它自己本身
<script type="text/javascript">
	  let array = [0,1,2,3,4,5,6]
	  document.write("原数组为:"+array + "<br />")
	  let arrBack  = array.splice(2,1)
	  document.write("array:",array + "<br />")
	  document.write("arrBack:",arrBack)
</script>

运算后的array:0,1,3,4,5,6
被删除的元素:2

在这里插入图片描述

  1. 删除从index=2 即第三个元素开始,删除0个,即不删除
	  let array = [0,1,2,3,4,5,6]
	  document.write("原数组为:"+array + "<br />")
	  let arrBack  = array.splice(2,0)
	  document.write("array:",array + "<br />")
	  document.write("arrBack:",arrBack)

运算后的array:0,1,2,3,4,5,6
被删除的元素:
在这里插入图片描述

三、情况三 (大于等于三个参数)

splice(index ,howmany , item1, …, itemX )

  1. index >0 时
    (1. howmany 为 0 时 不删除只添加 —— 在index位置前添加item1, …, itemX的数
    (2. howmany > 0 删除且添加 —— 删除从index位置开始的数,howmany为删除的个数,并且在index位置前添加item1, …, itemX的数
  2. index <0 时 最后一个数为 -1 依次倒数第二个数为-2
    (1. howmany 为 0 时 不删除只添加 —— 在-index位置前添加item1, …, itemX的数
    (2. howmany > 0 删除且添加 —— 删除从-index位置开始的数,howmany为删除的个数,并且在-index位置前(相当于往后 -2前是 -1)添加item1, …, itemX的数

1.1 删除从index=2 即第三个元素开始,删除0个,即不删除;并在第三个元素前添加8,9

<script type="text/javascript">
	  let array = [0,1,2,3,4,5,6]
	  document.write("原数组为:"+array + "<br />")
	  let arrBack  = array.splice(2,0,8,9)
	  document.write("array:",array + "<br />")
	  document.write("arrBack:",arrBack)
</script>

在这里插入图片描述

1.2 删除从index=5 即第六个元素开始,删除3个(包含第六个),后面只剩两个,全部删除;并在第六个元素前添加8,9

	  let array = [0,1,2,3,4,5,6]
	  document.write("原数组为:"+array + "<br />")
	  let arrBack  = array.splice(5,3,8,9)
	  document.write("array:",array + "<br />")
	  document.write("arrBack:",arrBack)

在这里插入图片描述

2.1 删除从index=-2 即倒数第二个元素开始,删除0个,即不删除;并在倒数第二个元素前添加8,9

<script type="text/javascript">
      let array = [0,1,2,3,4,5,6]
	  document.write("原数组为:"+array + "<br />")
	  let arrBack  = array.splice(-2,0,8,9)
	  document.write("array:",array + "<br />")
	  document.write("arrBack:",arrBack)
</script>

在这里插入图片描述

2.2 删除从index=-2 即倒数第二个元素开始,删除3个,即5,6(只有两个);并在倒数第二个元素前添加8,9

<script type="text/javascript">
	  let array = [0,1,2,3,4,5,6]
	  document.write("原数组为:"+array + "<br />")
	  let arrBack  = array.splice(-2,3,8,9)
	  document.write("array:",array + "<br />")
	  document.write("arrBack:",arrBack)
</script>

在这里插入图片描述

参考:
https://www.w3school.com.cn/jsref/jsref_splice.asp

  • 132
    点赞
  • 475
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值