当前位置: 代码网 > it编程>编程语言>Javascript > (超详细)数组方法 ——— splice( )

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

2024年07月28日 Javascript 我要评论
(超详细)数组方法 ——— splice( )

splice( )函数详解

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

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]


 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]

二、情况二 (两个参数)

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]

 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); //[]

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

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"]


 

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com