首页 > 编程语言 >JavaScript学习--splice()函数详解

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

时间:2023-03-22 12:12:08浏览次数:46  
标签:index arrBack 删除 -- JavaScript write splice array document

https://blog.csdn.net/weixin_45726044/article/details/120151153

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

参数:

index —— 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany —— 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX —— 可选。向数组添加的新项目。
返回值: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

 

2.删除从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 )

index >0 时
(1. howmany 为 0 时 不删除只添加 —— 在index位置前添加item1, …, itemX的数
(2. howmany > 0 删除且添加 —— 删除从index位置开始的数,howmany为删除的个数,并且在index位置前添加item1, …, itemX的数
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>

标签:index,arrBack,删除,--,JavaScript,write,splice,array,document
From: https://www.cnblogs.com/Dongmy/p/17243267.html

相关文章

  • AD域环境下办公机系统时间不准确
    事件起因:某部门一同事电脑时间和AD域控时间相差3分钟,虽然说时间相差5分钟内问题不大,但是本着有问题就解决的原则,还是花了点时间去查资料解决。(小小吐槽一下,在我看来域控......
  • 数据结构笔记1 绪论 概念
    最近这一段时间在学习数据结构。感觉还是很值得的。有老大的话说就是这次投资成功了。开始决定学习的时候买了一本书《数据结构(C语言版)》相信大家都看过吧。是严蔚敏老师......
  • PID控制
    ​​PID控制原理,看了开头,你就会看到结尾!_哔哩哔哩_bilibili​​P让位置误差接近0,D让速度误差接近0,I让积分误差接近0P----向下扔弹力球P越大表示用的力气越大,回弹次数越多......
  • 程序员为什么不写单元测试?
    一、为了单元测试而写单元测试   最近笔者曾经做过一次“程序员在项目开发中编写单元测试的情况”的调查。    调查结果显示:1.几乎没有严格在项目中执行TDD(,TD......
  • Silverlight 3正式版发布
    北京时间7月10日消息,微软于当地时间7月9日在旧金山发布了Silverlight3的正式版(版本号3.0.40624.0),相比于上个一版本,Silverlight3新增了50多种功能,包括GPU加速、H.264编解码......
  • 数据结构笔记4 栈
    栈的定义和概念栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。(1)通常称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。(2)当表中没有元素......
  • 小菜学设计模式 工厂设计模式 Simple Factory Pattern
    设计模式的工厂设计模式。工厂模式有以下几种形态:简单工厂(SimpleFactory)模式工厂方法(FactoryMethod)模式抽象工厂(AbstractFactory)模式优点:工厂类含有必要的判断逻......
  • Web前端入门之JS基础知识梳理汇总
    Web前端工程师是当前各大企业都比较稀缺的人才,薪资待遇和就业前景都很不错。不论是专业还是非专业,有基础亦或是无基础,都想通过学习Web前端实现高薪就业。不过,学习要一步一个......
  • 小菜学设计模式 单一职责原则
    单一职责原则:就一个类而言,应该仅有一个引起它变化的原因!如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。......
  • ITSM | 如何通过设计提升工单处理效率
    随着数字化的进程不断加快,企业对IT团队和组织协作效率要求也不断提高。嘉为蓝鲸IT服务管理中心,基于ITIL实践,提供事件管理、问题管理、变更管理、请求管理能力,并通过与ITOM的......