数组方法slice和splice的使用与区别


(1)slice

  • slice是用来截取的
  • 返回一个新数组,不会改变原数组,属于浅拷贝
    var a = [1, 2, 3, 4, 5];
    console.log(a.slice(1, 3));
    //从下标0开始,包含start参数,不包含end参数,返回[2,3]
    
    console.log(a.slice(0, -1));
    //从下标0开始到倒数第1个,但不包含倒数第一个,返回[1,2,3,4]
    
    console.log(a.slice(-3, -1));
    //从倒数第3个开始到倒数第1个,但不包含倒数第一个,返回[3,4]
    
    console.log(a.slice(-3));
    //3,4,5 //倒数第三个往后

(2)splice

  • splice是用来插入、删除、替换原数组
  • 会返回被删除的元素
  • 会改变原数组,不属于浅拷贝
    var arr = [1, 2, 3, 4, 5];
    //第一个参数是开始的位置,正数为数组下标,负数n是倒数第n个
    //第二个参数是删除的个数
    //第三四五n个参数是插入的元素
    
    console.log(b.splice(-1, 1))
    //删除最后一个元素 返回5
    
    console.log(b.splice(-1, 1, '替换'))
    //替换倒数第一个
    
    console.log(b.splice(length, 0, '插入'));
    //length是没有参数,那么就是新增元素

文章作者: iamfugui
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 iamfugui !
评论
  目录