为了账号安全,请及时绑定邮箱和手机立即绑定

js 对象深拷贝和赋值

js 对象深拷贝和赋值

冉冉说 2018-11-23 11:15:53
代码中得到一个数组arr=[1,2,3];因为马上会被销毁,所以不能直接赋值给对象Obj.a,请问这种情况jquery如何写,使得arr销毁之后Obj.a=[1,2,3]?
查看完整描述

1 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

一般情况下很少会在 JS 中遇到“销毁”。然后,我不明白你所谓的立即销毁是指什么?

如果是指 delete arr,那么直接赋值也不会有问题,如下图:

https://img1.sycdn.imooc.com//5c17117e0001c2b503110170.jpg

如果你是要改变 arr 的内容。那么可以复制一个数组(有几种方法,concat 只是其中一种)

Obj.a = [].concat(arr);

如果确实需要深拷贝,jQuery.fn.clone(),不过貌似有一些限制。

如果其它数据,自己写深拷贝还是有点难度也比较麻烦,不如用 Lodash 的 cloneDeep()


查看完整回答
反对 回复 2018-12-17
  • 1 回答
  • 0 关注
  • 421 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号