首页 > 编程语言 >JavaScript之splice()

JavaScript之splice()

时间:2023-11-17 16:15:53浏览次数:31  
标签:index arrBack 删除 JavaScript write splice array document

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

概述

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

一个参数

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
  1. 数组最后一个值对应的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

两个参数

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

  1. 删除从index=2 即第三个元素开始,删除一个,即它自己本身
	  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)
array:0,1,3,4,5,6
  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 )

  • 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. 删除从index=2 即第三个元素开始,删除0个,即不删除;并在第三个元素前添加8,9
	  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)

array:0,1,8,9,2,3,4,5,6
  1. 删除从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)
array:0,1,2,3,4,8,9
  1. 删除从index=-2 即倒数第二个元素开始,删除0个,即不删除;并在倒数第二个元素前添加8,9
	  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)
array:0,1,2,3,4,8,9,5,6
  1. 删除从index=-2 即倒数第二个元素开始,删除3个,即5,6(只有两个);并在倒数第二个元素前添加8,9
	  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)
array:0,1,2,3,4,8,9

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

相关文章

  • javascript postMessage给子页面发消息
    发送消息页面<!DOCTYPEhtml><html><head><title>demo</title><metacharset="utf-8"/><script>varchildwinconstchildname="popup"functionopenChild(){......
  • 11.16 基本完成个人任务管理系统项目后重新复习JavaScript高级程序设计——声明var与l
    我看的是js高级程序设计第四版,前两章快速了解了一下,第三章开始慢啃,虽然内容枯燥,很多东西自己也知道了,但还是有一些收获的。比如,声明变量的三个关键词:var、let、const;var以前经常用但是会出问题,相比let没有那么严谨(var声明范围函数作用域,而let声明范围块级作用域)。看个例子:这是v......
  • 【分享】javascript汉字转拼音库pinyin-pro
    ......
  • JavaScript判断图片是否已经加载完毕的方法汇总_javascript技巧
    在网上有很多关于判断图片是否已经加载完毕的文章,但是有的浏览器并不适合,下面小编给大家分享一些有关JavaScript判断图片是否已经加载完毕方法汇总,具体内容如下所示:一.onload事件通过监听图片的onload事件,可以判断图片是否已经加载完成,兼容所有的浏览器(w3c推荐方法),代码示例如下......
  • JavaScript: Checkbox onChange event is differently processed by IE and FF
     DropDownList onchange=""TextBoxonchange=""CheckBoxonclick=""RadioButtononclick="" JavaScript:CheckboxonChangeeventisdifferentlyprocessedbyIEandFFTrytoclick thefollowingbuttonsonIEandFirefox.U......
  • Setence Case using Javascript/SQL Server
    Howto ChangeaaaorAAAtobeAaa<scripttype="text/javascript"language="javascript">functionCorrectName(e){if(e.value!=""&&/^[a-zA-Z]/.test(e.value)){e.value=e.valu......
  • JavaScript 的数组方法
    数组方法构成了任何编程语言中数组的基本方面。这些方法使程序员能够操作、迭代和转换数组,为各种任务提供有效的解决方案。无论是排序、过滤还是映射数据,理解和利用数组方法都是释放代码全部潜力的关键值()该方法返回一个迭代器,为数组中的每个索引提供一个值,不需要任何参数。长度......
  • setTimeout 是浏览器环境提供的,JS 标准没有规定。不是JavaScript的全局函数,是浏览器(宿
    下列哪些函数是JavaScript的全局函数?AencodeURIBparseFloatCsetTimeoutDeval正确答案:ABD答案:A、B、D个人记忆方法:6(编码相关)+2(数据处理)+4(数字相关)+1(特殊)编码相关:escape()、unescape()、encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent......
  • onclick="javascript:void(0)"就是行内javascript
    给网页添加JavaScript的方式有A使用script标签,将javascript代码写到之间B添加外部javascript文件C使用行内javascriptD使用@import引入javascript文件正确答案:ABCA正确。使用script标签,将javascript代码写到之间,例子:<scriptype="text/javascript">document.write("Hel......
  • 【你不知道的JavaScript】this关键字
    没有this时,需要传入上下文获取name,在多个上下文时,代码变得繁杂重复varme={name:"Kyle"};varyou={name:"Reader"};functionidentify(context){returncontext.name.toUpperCase();}functionspeak(context){vargreeting="Hello,I&......