美文网首页
JavaScript内置对象学习笔记-Array

JavaScript内置对象学习笔记-Array

作者: AlanLynn | 来源:发表于2017-06-02 11:28 被阅读0次

    Array.prototype.slice()

    slice() 方法返回一个从开始到结束(不包括结束)的数组的一部分浅拷贝到一个新的数组对象。
    原始数组不会发生改变。

    语法

    arr.slice()
    arr.slice(start)
    arr.slice(start,end)

    参数说明

    start 从索引开始位置开始计算起(0开始),如果参数为负数,那么就从原数组的倒数第几个开始提取,比如 arr.slice(-2),那么提取的是从倒数第二个元素到最后一个元素(包括最后一个元素)。
    如果省略start,那么就从0开始提取。
    end 在该索引结束元素提取(0开始),slice()会提取从startend的所有元素(包括start,不包括end);
    如果省略end,那么会提取到最后一个元素,如果end大于数组长度,会提取到最后一个元素。

    返回值

    返回一个新的数组

    描述

    slice()不修改原数组,浅拷贝一份元素到一个新的数组。
    1.如果该元素是一个对象引用,slice会拷贝这个对象的引用到新的数组中,两个元素同时对一个对象进行了引用,如果改变了被引用的对象,那么两个数组中的对象都会发生改变。
    2.对于String、Number、Boolean(不是对象)来说,拷贝到了新数组中,二者不管那个发生了改变,都不会影响另外一个数组。
    3.如果向两个数组任意一个添加了一个新元素,另一个不会受影响。

    使用技巧

    slice方法可以将一个类数组(Array-list)对象/集合转成一个数组,你只需要将该方法绑定到这个对象上就可以了
    实例:

    function list(){
      return [].slice.call(arguments);
    }
    let  l = list(1,2,3); //[1,2,3]
    

    相关文章

      网友评论

          本文标题:JavaScript内置对象学习笔记-Array

          本文链接:https://www.haomeiwen.com/subject/ayayfxtx.html