js怎样可以把一个数组push到另一个数组?

[[1,2,3],[2,4,5]]
我想要这样的结果,所以把temp push到了结果数组res中,结果发现,虽然放进去了,但是后面temp执行pop操作以后,原先res中的数组也执行了pop,我感觉应该是因为push的内存地址的原因,但是不知道怎么改才能不影响原来push进去的res呢?
image.png

阅读 2.3k
2 个回答

确实是内存的原因,push 只是在 res 的尾部新增一个对 temp引用,这个引用指向的内存还是 temp 原来的内存地址。
可以新建一个数组并push到里面去:

res.push([...temp]);

push temp 的浅拷贝即可([...temp]

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题