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

js数组已经实现深拷贝,但是修改其中一个数组的值,其他数组的值会改变?

js数组已经实现深拷贝,但是修改其中一个数组的值,其他数组的值会改变?

RISEBY 2019-05-21 09:30:08
_createProps:function(props){letcolProp=[],rowProp=[],propsAry=[],temp=[];if(props[0]){props[0].childsCurGoods.forEach(function(n,i){colProp.push({id:n.id,name:n.name,buyNum:0});});propsAry=colProp;if(props[1]){props[1].childsCurGoods.forEach(function(n,i){temp[i]=[];for(letj=0;j
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

很明显,你写的并非深拷贝luckness说的Object.assign也只是解决了更深一层的引用,如果你child里某个元素还有引用类型的属性,这种情况依然会出现。
你这种的可以用JSON.parse(JSON.stringify(res))来实现
需要注意的是,遇到值是类似function/RegExp这样的,或是有循环引用的就不行了
                            
查看完整回答
反对 回复 2019-05-21
  • 2 回答
  • 0 关注
  • 1719 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信