收藏
回答

二维数组操作有点搞不懂的地方?

如果是一个一维数组如下所示,我对其的内容进行修改

data:{test:[1,2,3,4,5]}


change:function(){

    var test = this.data.test

    console.log(test)

    test[0] = 100

    console.log(test)

}

}


[1,2,3,4,5]

[100,2,3,4,5]

很明显第一个console.log的值不会发生改变

但是当我将test:[[1,2,3,4,5],[1,2,3,4,5]]之后

我更改数组的内容第一个console.log()的输出内容也产生了变化


  var test = this.data.test

    console.log(test)

  //  test[0] = 100

    test[0] = [1,2,2,2,2]

    console.log(test)


输出结果是[1,2,2,2,2],[1,2,3,4,5]

[1,2,2,2,2],[1,2,3,4,5]



想问一下解决的办法



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

1 个回答

  • 子不语
    子不语
    2019-11-13

    百度 js 深度克隆数组

    2019-11-13
    有用
    回复 4
    • 周欢
      周欢
      2019-11-13
      我没有想过复制,我只是用了一下输出打印而已,其他的无所谓了,重点是为什么一维数组和二维数组有不同的效果
      2019-11-13
      回复
    • 子不语
      子不语
      2019-11-13回复周欢
      其实理论上是一样的,只是一维数组改变比较简单而已
      2019-11-13
      回复
    • 静·悟·真
      静·悟·真
      2020-01-12
      为什么我给二维数组push赋值,同样的方法,部分成功显示,部分仅显示长度呢?
      2020-01-12
      回复
    • 静·悟·真
      静·悟·真
      2020-01-12回复周欢
      给二维数组赋值,无法继续,multiArray[1]始终赋值不成功。通过JSON.parse(JSON.stringify())倒是可以看到有值,但是带不到下一步,到给multiArray[2]赋值的时候,multiArray[1]又回到初始化值了。请问如何解决。感谢🙏
      2020-01-12
      回复
登录 后发表内容
问题标签