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不会对原数组进行修改

  • 相关阅读:
    JQuery学习
    前端Web APIs 二
    前端Web APIS
    Swift 函数式数据结构
    JAVA 四大域对象总结
    Java 访问 C++ 方法:JavaCPP
    写Java也得了解CPU–CPU缓存
    Servlet使用注解标注监听器(Listener)
    Java使用Fork/Join框架来并行执行任务
    Linux学习之让进程在后台可靠运行的方法详解
  • 原文地址:https://www.cnblogs.com/just4play/p/5681441.html
Copyright © 2011-2022 走看看