深度克隆
2019-08-14 10:22:15来源:博客园 阅读 ()
原始对象如下:
1 let obj = { 2 name: 'tw', 3 age: 12, 4 fit: ['12', '45', 78], 5 git: { 6 name: 'github', 7 www: 'http:.', 8 hub: { 9 name: "yu" 10 } 11 } 12 }
封装一个函数用来克隆对象:
1 function deepClone(origin, target) { 2 let toStr = Object.prototype.toString, 3 arrStr = '[object Array]'; 4 for (let prop in origin) { 5 if (origin.hasOwnProperty(prop)) { 6 if (typeof (origin[prop]) == 'object') { 7 if (toStr.call(origin[prop]) == arrStr) { 8 target[prop] = []; 9 } else { 10 target[prop] = {}; 11 } 12 deepClone(origin[prop], target[prop]) 13 } else { 14 target[prop] = origin[prop]; 15 } 16 } 17 } 18 }
原文链接:https://www.cnblogs.com/gzy-tw/p/11279795.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 深度剖析Vue中父给子、子给父、兄弟之间传值! 2019-08-14
- JavaScript 基础 2019-08-14
- js常用的数组方法 2019-08-14
- javascript 对象克隆 2019-01-21
- 2018/1.6 Javascript 继承和克隆 2019-01-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash