• Javascript中数组对象的splice、slice方法


    splice:

    splice是一个数组方法,用于修改数组。它可以删除、插入或替换数组中的元素。
    splice方法**会直接修改原始数组****,并返回被删除的元素(如果有)。如果不删除任何元素,则会返回一个空数组。

    splice方法的语法如下:
    array.splice(startIndex, deleteCount, item1, item2, ...);
    
    • 1
    • startIndex:开始修改的索引位置。
    • deleteCount:要删除的元素数量(可选)。
    • item1, item2, …:要插入或替换的元素(可选)。
    splice方法的工作原理如下:
    • 如果只提供了startIndex参数,则会从该索引位置开始删除所有后续元素,直到数组末尾,并返回被删除的元素。
    • 如果同时提供了startIndex和deleteCount参数,则会从startIndex位置开始删除指定数量的元素,并返回被删除的元素。
    • 如果提供了startIndex、deleteCount和要插入的元素参数,则会从startIndex位置开始删除指定数量的元素,并在此位置插入给定的元素,并返回被删除的元素。
    • 如果要插入多个元素,则可以在后续参数中添加更多的元素。
    下面是一些示例:
    let fruits = ['apple', 'banana', 'orange', 'mango'];
    
    let deletedItems = fruits.splice(1, 2);
    console.log(fruits); // 输出:['apple', 'mango']
    console.log(deletedItems); // 输出:['banana', 'orange']
    
    fruits.splice(1, 0, 'grape');
    console.log(fruits); // 输出:['apple', 'grape', 'mango']
    
    fruits.splice(2, 1, 'kiwi', 'pineapple');
    console.log(fruits); // 输出:['apple', 'grape', 'kiwi', 'pineapple']
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    slice:

    slice是一个数组方法,用于从原始数组中截取出指定范围的元素,然后返回一个新的数组副本。
    需要注意的是,slice方法不会修改原始数组,而是返回一个新的数组副本。如果省略了endIndex参数,则slice会一直截取到数组末尾。如果startIndex或endIndex为负数,则它们被视为倒数的索引位置。

    slice方法的语法如下:
    array.slice(startIndex, endIndex);
    
    • 1
    • startIndex:截取起始位置的索引(包含在截取结果中)。
    • endIndex:截取终止位置的索引(不包含在截取结果中)。
    slice方法的工作原理如下:
    • 如果只提供了startIndex参数,则会从该索引位置开始一直截取到数组末尾,并返回一个包含截取元素的新数组。
    • 如果同时提供了startIndex和endIndex参数,则会从startIndex位置开始截取到endIndex位置之前,并返回一个包含截取元素的新数组。
    下面是一些示例:
    let fruits = ['apple', 'banana', 'orange', 'mango'];
    
    let slicedItems = fruits.slice(1, 3);
    console.log(slicedItems); // 输出:['banana', 'orange']
    
    let slicedItems2 = fruits.slice(2);
    console.log(slicedItems2); // 输出:['orange', 'mango']
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    pytorch中.size()、.item、argmax()、.cpu()、.detach()和.data的使用
    设计模式之抽象工厂模式(学习笔记)
    PreferenceScreen 中如何自定义SwitchPreferenceCompat的布局
    软件开发全文档整理(原件获取)
    Kafka开篇
    Annotation-Based Configuration Configuring Beans for the Container
    gitlab+jenkins+k8s实现持续集成springboot+springcloud
    Error: Cannot install in Homebrew on ARM processor in Intel default prefix
    在树莓派上安装编译的vim——开启python3支持
    Linux input输入子系统
  • 原文地址:https://blog.csdn.net/m0_60508194/article/details/133184389