JavaScript Array.push()方法与浅复制
博客专区 > vincedd 的博客 > 博客详情
JavaScript Array.push()方法与浅复制
vincedd 发表于8个月前
JavaScript Array.push()方法与浅复制
  • 发表于 8个月前
  • 阅读 6
  • 收藏 0
  • 点赞 0
  • 评论 0

今天码代码的过程中遇到一个问题,在此记录一下,简单地说,当使用Array.push()方法向数组内添加一个引用类型的变量时,只是一个浅拷贝操作,当对变量进行操作后,数组内的变量值也会随之发生变化,测试代码如下:

let    a = [],
        b = [1, 2, 3];

    a.push([34]);
    a.push([3, 4]);
    a.push(b);

    console.log(b[0]);//1
    console.log(a[2][0]);//1
    b[0] = "test";
    console.log(b[0]);//test
    console.log(a[2][0]);test

查阅相关资料后得知,如果希望将一个引用类型变量深复制进一个数组,可使用js的slice和concat方法,

标签: 笔记
共有 人打赏支持
粉丝 0
博文 1
码字总数 168
×
vincedd
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: