收藏
回答

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

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

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]



想问一下解决的办法



最后一次编辑于  11-13
回答关注问题邀请回答
收藏

1 个回答

  • 子不语
    子不语
    11-13

    百度 js 深度克隆数组

    11-13
    赞同
    回复 2
    • 空周JO太郎
      空周JO太郎
      11-13
      我没有想过复制,我只是用了一下输出打印而已,其他的无所谓了,重点是为什么一维数组和二维数组有不同的效果
      11-13
      回复
    • 子不语
      子不语
      11-13回复空周JO太郎
      其实理论上是一样的,只是一维数组改变比较简单而已
      11-13
      回复
问题标签