ES6 Object.assign() 拷贝问题
- 类似以下格式怎么用Object.assign()一次完全拷贝?仅仅拷贝外层的生效的只有外层,里面的不拷贝, 2改变里面的数组1也是会变的;
let arr1 = [ { name: '小明', age: 18, arrs: [ {color: 'red', num: 18} ] }, ]; let arr2 = arr1.map(item => Object.assign({},item)).concat(); arr2[0].name = '菜鸟'; arr2[0].arrs[0].color = 'yellow'; console.log(arr1); console.log(arr2);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
深拷贝?网上很多方法,搜一下。最简单的如果你的数据没有json不支持的数据类型的话可以用
JSON.parse(JSON.stringify(data))
其实是一个深拷贝刚才朋友那了解到了一个工具lodashjs:
第二种不用工具: