zoukankan      html  css  js  c++  java
  • JavaScript方法splice()和slice()

    1 splice()

    1.1 说明

    splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组Link

    1.2 语法

    arrayObject.splice(index,howmany,item1,.....,itemX)

    参数

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

    返回值

    • Array: 包含被删除项目的新数组,如果有的话。

    1.3 示例

    //添加项目
    (function(){
        var arr = [0, 1, 2, 3, 4];
        arr.splice(1, 0, 9, 10); //索引位置/ 删除数量/ 可选, 添加项目, 可多个
        console.log(arr); //[0, 9, 10, 1, 2, 3, 4]
    }());
    //删除项目
    (function(){
        var arr = [0, 1, 2, 3, 4];
        arr.splice(1, 2);
        console.log(arr); //[0, 3, 4]
    }());
    //删除并添加项目
    (function(){
        var arr = [0, 1, 2, 3, 4];
        arr.splice(1, 2, 9, 10, 11);
        console.log(arr); //[0, 9, 10, 11, 3, 4]
    }());

    2 slice()

    2.1 说明

    slice() 方法可从已有的数组中返回选定的元素。该方法并不会修改数组,而是返回一个子数组

    2.2 语法

    arrayObject.slice(start,end)

    参数

    • start: 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
    • end: 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

    返回值

    • 返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

    2.3 示例

    //截取中间一段
    (function(){
        var arr = [0, 1, 2, 3, 4];
        arrS = arr.slice(1, 3); //从索引1开始到索引3之前, 不包括索引3的项目
        console.log(arrS); //[1, 2]
    }());
    //截取中间到最后
    (function(){
        var arr = [0, 1, 2, 3, 4];
        arrS = arr.slice(1); //end为空, 从索引1开始到结束
        console.log(arrS); //[1, 2, 3, 4]
    }());
    //获取最后一个项目
    (function(){
        var arr = [0, 1, 2, 3, 4];
        arrS = arr.slice(-1); // -1个项目到最后, -1即最后一个, -2倒数第二个
        console.log(arrS); //[4]
    }());
    //排除最后一个项目
    (function(){
        var arr = [0, 1, 2, 3, 4];
        arrS = arr.slice(0, -1); // 第一个到第-1个, 不包含第-1个(最后一个)
        console.log(arrS); //[0, 1, 2, 3]
    }());

    JavaScript方法splice()和slice()

  • 相关阅读:
    CodeForces 510C Fox And Names (拓扑排序)
    Codeforces 1153D Serval and Rooted Tree (简单树形DP)
    HDU 6437 Problem L.Videos (最大费用)【费用流】
    Luogu P3381 (模板题) 最小费用最大流
    Codeforces 741B Arpa's weak amphitheater and Mehrdad's valuable Hoses (并查集+分组背包)
    Codeforces 1144F Graph Without Long Directed Paths (DFS染色+构造)
    HDU 2204 Eddy's 爱好 (容斥原理)
    Codeforces 939E Maximize! (三分 || 尺取)
    Codeforces 938D. Buy a Ticket (最短路+建图)
    CodeForces 959E Mahmoud and Ehab and the xor-MST (MST+找规律)
  • 原文地址:https://www.cnblogs.com/mazey/p/7308709.html
Copyright © 2011-2022 走看看