zoukankan      html  css  js  c++  java
  • splice与slice

    在js里,数组有两个函数:splice和slice

    splice是一个功能强大的函数,不仅能实现数组元素的添加,还能实现数组元素的替换和删除

    语法:

    Array.prototype.splice(start,deleteCount[,item1[,item2[,...]]])

    上面是mdn的定义,splice至少含有两个参数,

      如果只有两个参数,则代表删除元素,start为起始位置,deleteCount为删除元素的个数

      如果多于两个参数,

        如果deleteCount为0,则代表添加元素

        如果deleteCount不为0,则代表替换元素,实际上是先删除后添加元素

    测试一下:

    //两个参数的情况
    var a = [1,2,3];
    a.splice(1,1);
    console.log(a);  //1,3
    
    //三个参数且第二个参数为0
    var b = [1,2,3];
    b.splice(1,0,4,5,6);
    console.log(b);  //1,4,5,6,2,3
    
    //三个参数且第二个参数不为0
    var c = [1,2,3];
    c.splice(1,2,4,5,6);
    console.log(c);  //1,4,5,6

    要注意的一点是,splice会对原数组进行修改

    再来看一下slice

    Array.prototype.slice([start[,end]])

    两个参数都可以省略

    start:索引开始的位置(包含),如果省略,则从0开始

    end:索引结束的位置(不包含),如果省略,则一直提取到数组结尾

    测试一下:

    //没有参数
    var a = [1,2,3];
    var b = a.slice();
    console.log(b);  //1,2,3
    
    //一个参数
    var c = [1,2,3];
    var d = a.slice(1);
    console.log(d);  //2,3
    
    //两个参数
    var e = [1,2,3];
    var f = e.slice(1,1);
    console.log(f);  // []
    
    //两个参数
    var g = [1,2,3];
    var h = g.slice(1,2);
    console.log(h);  //  2

    注意,slice不会对原数组进行修改

  • 相关阅读:
    C#下载文件代码更新20070920
    判断IP地址是否合法的sql2000使用存储过程跟函数
    百万级SQL分页存储过程
    C#批量重命名文件代码的实现
    单个分页的存储过程
    阿江网站访问统计系统设计构思分析
    c#查询QQ状态是否在线查询代码
    C# public class Person
    C#禁止应用程序的多重运行
    Outlook最小化到托盘的设置方法
  • 原文地址:https://www.cnblogs.com/just4play/p/5681441.html
Copyright © 2011-2022 走看看