• JS数组常用方法---10、splice方法


    JS数组常用方法---10、splice方法

    一、总结

    一句话总结:

    splice方法是修改数组,可删可插可两者同时进行,参数第一个是必带的start(也就是数组的修改位置),第二个是可选的deleteCount,后面的参数就是要添加的元素,splice方法的返回值是被删除元素组成的数组,影响原数组
    作用:从数组中删除元素、插入元素、或者同时完成这两种操作.
    参数:必带参数start​(指定修改的开始位置,可负数),可选参数deleteCount,可选参数item1, item2,...(表示要添加的元素)
    返回值:被删除的元素组成的数组
    是否影响原数组:肯定影响
    
    //3、splice修改数组,既删除,又添加
    let arr=[1,2,3,4,5];
    let delete_arr=arr.splice(1,2,7,8);//在第1号位置删除两个,然后添加7和8
    console.log(delete_arr);// [2, 3]
    console.log(arr);// [1, 7, 8, 4, 5]

    1、splice方法的作用?

    splice方法的作用是修改数组:既可以删除元素,又可以添加元素,也可以又删除又添加

    2、splice的第一个参数start表示的意思是什么?

    修改的起始位置,这里的修改可以是删除元素,也可以是插入元素,也可以是两者同时进行

    3、splice方法如何只向数组中添加元素?

    将splice方法的第二个参数deleteCount置为0,在deleteCount之后添加想要增加的元素即可,例如 let delete_arr=arr.splice(0,0,7,8);//在第0号位置添加7和8
    //2、splice向数组中添加元素
    let arr=[1,2,3,4,5];
    let delete_arr=arr.splice(0,0,7,8);//在第0号位置添加7和8
    console.log(delete_arr);// []
    console.log(arr);// [7, 8, 1, 2, 3, 4, 5]

    4、splice方法如何又删除数组中的元素,又向数组中添加元素?

    第一个参数start指定要好修改的位置,第二个参数deleteCount指定要删除的元素的个数,后面的参数就写要增加的元素,例如:let delete_arr=arr.splice(1,2,7,8);//在第1号位置删除两个,然后添加7和8
    //3、splice修改数组,既删除,又添加
    let arr=[1,2,3,4,5];
    let delete_arr=arr.splice(1,2,7,8);//在第1号位置删除两个,然后添加7和8
    console.log(delete_arr);// [2, 3]
    console.log(arr);// [1, 7, 8, 4, 5]

    5、从数组中删元素的那些方法,返回值总是被删的元素?

    比如pop方法(数组尾删)、shift方法(数组头删)、splice方法(指定位置删或者修改)

    二、splice方法

    博客对应课程的视频位置:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>splice方法</title>
     6 </head>
     7 <body>
     8 <!--
     9 splice方法
    10 
    11 英 /splaɪs/  美 /splaɪs/
    12 v. 捻接(绳子);拼接,接合(胶片等);移接(基因);使结婚
    13 n. 接合处;(连接的)绳;(板球击板的)柄脚;结婚(非正式)
    14 
    15 splice方法是修改数组,可删可插可两者同时进行,参数第一个是必带的start(也就是数组的修改位置),第二个是可选的deleteCount,后面的参数就是要添加的元素,splice方法的返回值是被删除元素组成的数组,影响原数组
    16 
    17 作用:从数组中删除元素、插入元素、或者同时完成这两种操作.
    18 参数:必带参数start​(指定修改的开始位置,可负数),可选参数deleteCount,可选参数item1, item2,...(表示要添加的元素)
    19 返回值:被删除的元素组成的数组
    20 是否影响原数组:肯定影响
    21 
    22 splice方法的作用
    23 splice方法的作用是修改数组:既可以删除元素,又可以添加元素,也可以又删除又添加
    24 
    25 splice的第一个参数start表示的意思是什么
    26 修改的起始位置,这里的修改可以是删除元素,也可以是插入元素,也可以是两者同时进行
    27 
    28 splice方法如何只向数组中添加元素
    29 将splice方法的第二个参数deleteCount置为0,在deleteCount之后添加想要增加的元素即可,例如 let delete_arr=arr.splice(0,0,7,8);//在第0号位置添加7和8
    30 
    31 splice方法如何又删除数组中的元素,又向数组中添加元素
    32 第一个参数start指定要好修改的位置,第二个参数deleteCount指定要删除的元素的个数,后面的参数就写要增加的元素,例如:let delete_arr=arr.splice(1,2,7,8);//在第1号位置删除两个,然后添加7和8
    33 
    34 从数组中删元素的那些方法,返回值总是被删的元素
    35 比如pop方法(数组尾删)、shift方法(数组头删)、splice方法(指定位置删或者修改)
    36 
    37 -->
    38 <script>
    39     //splice方法 修改数组
    40 
    41     //1、splice从数组中删除元素
    42     // let arr=[1,2,3,4,5];
    43     // let delete_arr=arr.splice(1,2);//从1号位置删2个
    44     // console.log(delete_arr);// [2, 3]
    45     // console.log(arr);// [1, 4, 5]
    46 
    47     //start为负数,负数表示从倒数的第几个开始
    48     // let arr=[1,2,3,4,5];
    49     // let delete_arr=arr.splice(-3,2);//从1号位置删2个
    50     // console.log(delete_arr);// [3, 4]
    51     // console.log(arr);// [1, 2, 5]
    52 
    53     //2、splice向数组中添加元素
    54     // let arr=[1,2,3,4,5];
    55     // let delete_arr=arr.splice(0,0,7,8);//在第0号位置添加7和8
    56     // console.log(delete_arr);// []
    57     // console.log(arr);// [7, 8, 1, 2, 3, 4, 5]
    58 
    59     //start为负数,负数表示从倒数的第几个开始
    60     // let arr=[1,2,3,4,5];
    61     // let delete_arr=arr.splice(-2,0,7,8);//在倒数第二个位置添加7和8
    62     // console.log(delete_arr);// []
    63     // console.log(arr);// [1, 2, 3, 7, 8, 4, 5]
    64 
    65     //3、splice修改数组,既删除,又添加
    66     // let arr=[1,2,3,4,5];
    67     // let delete_arr=arr.splice(1,2,7,8);//在第1号位置删除两个,然后添加7和8
    68     // console.log(delete_arr);// [2, 3]
    69     // console.log(arr);// [1, 7, 8, 4, 5]
    70 
    71     //删除数据的个数和添加数组的个数不一样
    72     // let arr=[1,2,3,4,5];
    73     // let delete_arr=arr.splice(1,1,7,8,9);//在第1号位置删除1个,然后添加7和8和9
    74     // console.log(delete_arr);// [2]
    75     // console.log(arr);// [1, 7, 8, 9, 3, 4, 5]
    76 
    77 </script>
    78 </body>
    79 </html>
     
  • 相关阅读:
    【Atcoder】CODE FESTIVAL 2017 qual C D
    【BZOJ】4756: [Usaco2017 Jan]Promotion Counting
    【Luogu】P3933 Chtholly Nota Seniorious
    【BZOJ】1914: [Usaco2010 OPen]Triangle Counting 数三角形
    【算法】计算几何
    【BZOJ】1774: [Usaco2009 Dec]Toll 过路费
    【BZOJ】2200: [Usaco2011 Jan]道路和航线
    【BZOJ】1833 [ZJOI2010]count 数字计数
    【BZOJ】1731: [Usaco2005 dec]Layout 排队布局
    【BZOJ】1577: [Usaco2009 Feb]庙会捷运Fair Shuttle
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12677550.html
Copyright © 2020-2023  润新知