首页 > 其他分享 >js中的splice用法

js中的splice用法

时间:2023-06-22 22:55:16浏览次数:45  
标签:index arrBack 删除 用法 write splice array js document

非常感谢原博主,在菜鸟教程上给我看蒙了,看完这篇感觉清晰了很多,感谢:https://so.csdn.net/so/search?q=splice&spm=1001.2101.3001.7020

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)
12345

运算后的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)
12345

在这里插入图片描述

运算后的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>
1234567

运算后的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)
12345

运算后的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>
1234567

在这里插入图片描述

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)
12345

在这里插入图片描述

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>
1234567

在这里插入图片描述

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>
1234567

在这里插入图片描述

标签:index,arrBack,删除,用法,write,splice,array,js,document
From: https://www.cnblogs.com/javaxubo/p/17498519.html

相关文章

  • Python json 字符串插入变量值
    在json字符串中,对某个key插入一个变量值而非固定的值可以照以下的例子来实现:beep_status="ON"f"{{\"Beep\":\"{beep_status}\"}}"在json字符串外套一层{}和f,在取变量时通过{beep_status}来取。......
  • canvas用法
    感谢原文:****点击跳转原文:canvas详细教程原文canvas是什么?简单来说,``是HTML5中的标签,它是一个容器,可以使用JS在其中绘制图形或文字。MDN:``是一个可以使用脚本(通常为JavaScript)来绘制图形的HTML元素。例如,它可以用于绘制图表、制作图片构图或者制作简单的动画。主要聚......
  • MYSQL中find_in_set函数用法详解
    感谢参考:https://blog.csdn.net/carefree31441/article/details/1195636851、官方涵义(MySQL手册中语法说明)FIND_IN_SET(str,strlist):str要查询的字符串,strlist需查询的字段,参数以”,”分隔,形式如(1,2,6,8,10,22);该函数的作用是查询字段(strlist)中是否包含(str)的结果,返......
  • TreeSaver.js 的工作流程逻辑
    Treesaver是浏览器大小尺寸敏感(size-sensitive)的,会就着当前的浏览器尺寸(browsersize),选用不同的分栏表格(grid)做排版。初始化TreeSaver.js框架的入口源代码在后面可以看到:https://github.com/Treesaver/treesaver/blob/master/src/init.js这里的代码用到了Google开发的JS库:Closur......
  • js中的预解析
    1.js中的声明声明就是变量的声明和函数的声明,其目的是让js解释引擎知道有什么东西.声明时不参与运算的,是不参与执行的,是在预解析阶段就完成的.变量的声明//变量的声明就是var变量名.varnum=123;//这是一个语法糖,可以理解成varnum;num=123;函数的......
  • 定义一个JS数组去重的方法
    1、思路:定义一个新数组,并存放原数组的第一个元素,然后将元素组一一和新数组的元素对比,若不同则存放在新数组中functionunique(arr){letnewArr=[arr[0]];for(leti=1;i<arr.length;i++){letrepeat=false;for(le......
  • 在sql中使用函数,遇到net.sf.jsqlparser.parser.ParseException异常
    异常详情如下Causedby:net.sf.jsqlparser.parser.ParseException:Encountered""->""->""atline1,column31.Wasexpectingoneof:"AS"..."DO"..."ANY"..."KEY"...……(中间省略很多符号)atnet.......
  • MYSQL8 处理JSON 我不再是豆包,我是干粮
    最近来了一个项目,本身如果用MONGODB有点大材小用,所以为了避免某些表继续使用text字段来处理JSON数据的方式,让技术水平上一个档次,并且公司也不在上MYSQL5.7的新项目,全部是8.018这个版本。继续上一篇文字,那就看看MYSQL8的野心到底是如何展现的。顺便研究完,给开发一个靠谱的方案,......
  • Mongodb GeoJSON 地理数据处理 其实我也很厉害
    相信如果提起地理数据的处理,首先想起的数据库就是postgis,对大名鼎鼎的postgresql + 插件的方式来将POSTGRESQL变成纯纯的地理数据处理的数据库,这是人尽皆知和童叟无欺的功能。 那么世界上如果我不想使用POSTGRESQL的 postgis来处理我的地理数据以外的选择,那么NO.2的选择......
  • Python | import json模块详解
    json是Python内置的一个用于处理JSON数据的模块。JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于Web应用程序之间的数据传输。json模块提供了四个主要的方法:json.dumps()-将Python对象转换为JSON格式的字符串。json.loads()-将JSON格式的字符串转换为Py......