• splice 和 slice 会改变原数组吗? 怎么删除数组最后一个元素?


    结论先行:

    splice() 会改变原数组,返回的是改变的内容;

    splice() 方法可以删除、插入或者修改数组元素,然后返回被删除的项目。

    第一个参数是必填的,表示要操作的起始位置;

    第二个参数也是必填的,表示删除的数量

    第三个参数是选填的,表示的是插入的新元素

    slice() 不会改变原数组,返回一个新的数组。

    slice() 方法的作用呢,就是从已有的数组中返回选定的元素,返回一个新的数组。

    第一个参数是必填的,表示要选取的起始位置;

    第二个参数是选填的,表示选取的结束位置。如果没有指定该参数,那默认是从 start 到数组结束的所有元素。

    有 3 种方法可以删除数组的最后一个元素:

    ① array.pop() 

    ② array.splice(-1, 1) 

    ③ delete array[array.length-1] 

    1、splice 和 slice 会改变原数组吗?

    splice() 会改变原数组,返回的是改变的内容;

    splice() 方法可能是数组中的最强大的方法之一了,使用它的形式有很多种,它会向/从数组中添加/删除项目,然后返回被删除的项目

    该方法会改变原始数组。

    其使用语法如下:arrayObject.splice(index, howmany, item1,..., itemX)

    index:必需,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置;
    howmany:必需,要删除的项目数量。如果设置为 0,则不会删除项目;
    item1,..., itemX:可选,向数组添加的新项目。

    从上面参数可知,splice 主要有三种使用形式:
    ① 删除:

    需要给 splice() 传递两个参数,即要删除的第一个元素的位置和要删除的元素的数量;

    ② 插入:

    需要给 splice() 传递至少三个参数,即开始位置、0(要删除的元素数量)、要插入的元素;

    ③ 替换:

    splice() 可以在删除元素的同时在指定位置插入新的元素。同样需要传入至少三个参数,即开始位置、要删除的元素数量、要插入的元素。要插入的元素数量是任意的,不一定和删除的元素数量相等。

    1. // 删除: ["two","three"]
    2. let array1 = ["one","two", "three", "four", "five"];
    3. console.log(array1.splice(1, 2)); // ["two", "three"];
    4. console.log(array1) // ["one", "four", "five"]
    5. // 插入996
    6. let array2 = ["one","two", "three", "four", "five"];
    7. console.log(array2.splice(2, 0, 996)) // []
    8. console.log(array2) // ["one","two", 996, "three", "four", "five"];
    9. // 替换 ['three']
    10. let array3 = ["one","two", "three", "four", "five"];
    11. console.log(array3.splice(2, 1, 996)) // ["three"]
    12. console.log(array3) // ["one","two", 996, "four", "five"]

    slice() 不会改变原数组,会返回一个新的数组。

    slice() 方法可从已有的数组中返回选定的元素,返回一个新的数组,包含从 start 到 end(不包括该元素)的数组元素。

    该方法并不会修改数组,而是返回一个子数组。

    其使用语法如下:arrayObject.slice(start, end)

    start:必需,规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推;

    end:可选,规定从何处结束选取,该参数是数组片断结束处的数组下标,如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

    1. let array = ["one", "two", "three", "four"];
    2. console.log(array.slice(0)); // ["one", "two", "three", "four"]
    3. console.log(array.slice(2, 3)); // ["three"]

    2、怎么删除数组最后一个元素?

    有三种方法可以删除数组的最后一个元素

    ① array.pop() 

    ② array.splice(-1, 1) 

    ③ delete array[array.length-1] 

  • 相关阅读:
    vim g的作用及与s的区别
    Python如何计算两个数字之和是多少?
    【Java面向对象】继承的认识与实现(2) 关键字 this 与 super 区别
    基于java的高速公路收费系统 计算机毕业设计
    11.(Python数模)(预测模型三)多元线性回归预测
    Python字典基础与高级详解
    opencv将32位深图片合成视频跳帧解决办法
    [附源码]java毕业设计学习教学辅助软件平台
    k8s--基础--23.2--认证-授权-准入控制--认证
    C语言结构体的初始化方式
  • 原文地址:https://blog.csdn.net/qq_38290251/article/details/133809383