(超详细)数组方法 ——— splice( )

这篇具有很好参考价值的文章主要介绍了(超详细)数组方法 ——— splice( )。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

splice( )函数详解

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

参数:
index —— 必需。整数,规定添加/删除项目的位置使用负数可从数组结尾处规定位置。
howmany —— 必需。要删除的项目数量。包含该index项在内。如果设置为 0,则不会删除项目。
item1, …, itemX —— 可选。向数组添加的新项目在index项之前添加。

返回值:通常为删除掉的数组元素。

原数组:被改变,原数组经过删除或增加之后的。

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

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

eg1. index初始值为0,index = 2 即从第三个元素开始,删除之后所有元素,包括第三个

      

      let arr = [0, 1, 2, 3, 4, 5, 6];
      console.log("原数组" , arr);  // 原数组 [0,1,2,3,4,5,6]
      let arrBack = arr.splice(2);    
      console.log("通过splice改变了原数组,变为", arr); //通过splice改变了原数组,变为[0, 1]
      console.log("返回值", arrBack);  // 返回值 [2, 3, 4, 5, 6]


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

数组splice,JavaScript,javascript,前端,typescript

 eg2. 数组最后一个值对应的index=-1 index = -3即倒数第三个元素, 即从倒数第三个元素开始,删除之后的所有元素,包括倒数第三个

      
      let array = [0, 1, 2, 3, 4, 5, 6];
      console.log("原数组为:", array);
      let arrBack = array.splice(-3);
      console.log("原数组变为:", array); // [0,1,2,3]
      console.log("返回值", arrBack); //[ 4,5,6]

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

数组splice,JavaScript,javascript,前端,typescript

二、情况二 (两个参数)

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

eg1. 删除从index=2 即第三个元素开始,删除一个,即它自己本身

      
      let array = [0, 1, 2, 3, 4, 5, 6];
      console.log(array);
      let arrBack = array.splice(2, 1);
      console.log(array);   //  [0, 1, 3, 4, 5, 6]
      console.log(arrBack); //  [2]

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

数组splice,JavaScript,javascript,前端,typescript

 eg2. 删除从index=2 即第三个元素开始,删除0个,即不删除


      let array = [0, 1, 2, 3, 4, 5, 6];
      let arrBack = array.splice(2, 0);
      console.log(array); // [0, 1, 2, 3, 4, 5, 6]
      console.log(arrBack); //[]

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

数组splice,JavaScript,javascript,前端,typescript

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

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的数

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

      
      let array = [0, 1, 2, 3, 4, 5, 6];
      let arrBack = array.splice(-2, 0, 8, 9);
      console.log(array); //[0,1,2,3,4,8,9,5,6]
      console.log(arrBack); //[]

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

     
      let array = [0, 1, 2, 3, 4, 5, 6];
      let arrBack = array.splice(-2, 3, 8, 9);
      console.log(array); // [0, 1, 2, 3, 4, 8, 9];
      console.log(arrBack); //[5, 6];

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


       let array = [0, 1, 2, 3, 4, 5, 6, 7];
       let arrBack = array.splice(5, 3, 8, 9);
       console.log(array); //[0,1,2,3,4,8,9];
       console.log(arrBack); //[5, 6, 7];

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


        
      let array = [0, 1, 2, 3, 4, 5, 6];
      let arrBack = array.splice(2, 0, 8, 9);
      console.log(arr); //[0,1,8,9,2,3,4,5,6]
      console.log(arrBack); //[]



以下案例来自uniapp官网:

    const months = ['Jan', 'March', 'April', 'June'];
    months.splice(1, 0, 'Feb');
    // inserts at index 1
    console.log(months);
    // expected output: Array ["Jan", "Feb", "March", "April", "June"]

    months.splice(4, 1, 'May');
    // replaces 1 element at index 4
    console.log(months);
    // expected output: Array ["Jan", "Feb", "March", "April", "May"]


 文章来源地址https://www.toymoban.com/news/detail-611742.html

到了这里,关于(超详细)数组方法 ——— splice( )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端经典面试题 | 吊打面试官系列 之 说说你对TypeScript 和 JavaScript的理解

    🖥️ 前端经典面试题 专栏:吊打面试官系列 之 说说你对TypeScript 和 JavaScript的理解 🧑‍💼 个人简介:一个不甘平庸的平凡人🍬 ✨ 个人主页:CoderHing的个人主页 🍀 格言: ☀️ 路漫漫其修远兮,吾将上下而求索☀️ 👉 你的一键三连是我更新的最大动力❤️ 目录 一、回答

    2024年01月17日
    浏览(48)
  • 重生前端之我在javascript敲代码(03-数组)

    一. 数组(重点) 思考:如何保存一个班级的所有学生的姓名? 回答:一种方法利用前面学习过的知识,则每一条信息都需要一个变量去保存,缺点是这样做很麻烦,而且容易出错,又不合理;另一种方法就是利用数组。 概念:数组是存储一系列值的变量集合,可以存储多

    2024年04月11日
    浏览(49)
  • 【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用

    🐚 作者: 阿伟 💂 个人主页: Flyme awei 🐋 希望大家多多支持😘一起进步呀! 💬 文章对你有帮助👉关注✨点赞👍收藏📂 第一种: var 数组名 = new Array(); 创建一个空数组 第二种: var arr2 = new Array(10); 创建一个定长为10的数组 第三种 var arr3 = new Array(a,b,c); 创建时直接指定元素值

    2023年04月08日
    浏览(65)
  • JavaScript数组-方法大全

    一、数组的3种创建方式 二、数组常用方法        方法名                                  功能    原数组是否改变       concat()      合并数组,并返回合并之后的数据       n       join()      使用分隔符,将数组转为字符串并返回     n       pop()      删除最

    2024年02月03日
    浏览(46)
  • JavaScript数组所有方法集合

    ##方法 1、concat 用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组 2、copyWithin 浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度 3、entries 返回一个新的 Array Iterator 对象,该对象包含数组中每个索引的键/值对 4、ever

    2024年02月16日
    浏览(36)
  • javascript常用的数组方法

    本文档统计了数组的常用方法,其中有参数可能不完整.请转至mdn查看 a.语法: delete arr[2] b.描述 删除数组的某一项的内容,或者说将某一项的内容置为空, c.返回值 d.特点 改变原数组,长度不发生变化 a.语法 arr.push(1,2,5) b.描述 向数组末尾追加 一个 或 多个 元素 c.返回值 追加元素

    2024年02月02日
    浏览(42)
  • JS中数组的splice()方法介绍 及 用原生JS手写数组splice()方法

    先介绍splice 一、splice()方法是用来对数组进行增、删操作,该方法返回被删除的元素,改变原数组 二、splice()方法接受三个及以上的参数:        第一个参数: 第一个参数是起始位置(数组的索引)       第二个参数: 第二个参数是要删除的元素个数,如果该参数是负数则默

    2024年02月07日
    浏览(30)
  • 〖大前端 - 基础入门三大核心之JS篇㉓〗- JavaScript 的「数组」

    当前子专栏 基础入门三大核心篇 是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专

    2024年02月04日
    浏览(70)
  • Javascript -- 数组prototype方法探究

    1、不改变原数组 1. concat() 这个是数组拼接方法,可以将两个数组或多个数组拼接并返回一个包含两个数组或多个数组内容的新数组,不会改变原数组 方法里面理论上可以写入n个参数, 2.find() 这个方法是遍历查找数组里面 第一个 满足条件的值,并将这个值返回回来,该方法

    2024年02月15日
    浏览(41)
  • JavaScript中数组常用方法汇总!

    数组是一个复杂数据类型,我们在操作它的时候就不能再想基本数据类型一样操作了。 比如我们想改变一个数组 这样肯定是不合理,因为这样不是在改变之前的数组。相当于重新制作了一个数组给到 arr 这个变量了,相当于把 arr 里面存储的地址给换了,也就是把存储空间换

    2024年02月17日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包