收藏
回答

微信小程序修改二维数组某个键里的值,其他键的数据跟着改了?

console.log出来 nowindex = 2 index = 3 但是赋值还是给全部的 nowindex 都赋值

换成下面的写法也不行 要改所有的now_index下的都跟着改了 是不是bug啊 真的很伤脑筋

回答关注问题邀请回答
收藏

3 个回答

  • 张有釜
    张有釜
    2021-03-16

    对象复制是传递地址 你可以了解一下 深度克隆就明白了

    2021-03-16
    有用
    回复
  • TTc
    TTc
    2021-03-13

    就单说你这段代码

    idSelect = 1的时候变量是驼峰命名

    其他命名又使用下划线命名了

    还有这个名字:

    member am choose info

    这个名字起的就说是真的很妙了,应该是在工地附近的厕所里学的英语。

    2021-03-13
    有用
    回复
  • 崖月减肥中,不瘦三十斤不换名字
    崖月减肥中,不瘦三十斤不换名字
    2021-03-13

    可以参考一下这份文档,基本可以解答你的疑惑。

    https://www.jianshu.com/p/f4329eb1bace

    然后了解一下js堆内存和栈内存区别,灵活使用es6语法的 ‘...’ 这个符号,可以很轻松的进行对象赋值等操作。

    你这种对象污染应该就是你使用同一对象赋值进数组的原因。

    最小化复现对象污染可以这样:

    var a=[1,2];

    var b=a;

    b[0]=2;

    console.log(a); // 打印的结果是[2,2]

    修改第二句赋值为:var b = [...a];

    那么对b进行修改,a的值就不会变了。

    2021-03-13
    有用
    回复
登录 后发表内容
问题标签