JSON clone 实现
2016-06-20 23:04
323 查看
// 1:1克隆 (只考虑 f,s 为同一类型) function deepCopy(s) { if (!Object.keys(s).length || s === null) return; var copy = function (f, s) { for (var i in s) { if (typeof s[i] === 'object' && !!s[i]) { f[i] = s[i].constructor === Array ? [] : {}; copy(f[i], s[i]); } else { f[i] = s[i]; } } return f; }; return s.constructor === Array ? copy([], s) : copy({}, s); }
// 在A的基础上,累加克隆B (只考虑 f,s 为同一类型) function deepCopy(f, s) { if (!Object.keys(s).length || f === null) return; for (var i in s) { if (typeof s[i] === 'object' && !!s[i]) { f[i] = s[i].constructor === Array ? [] : {}; deepCopy(f[i], s[i]); } else { f[i] = s[i]; } } return f; }
相关文章推荐
- 在线聊天室的实现(1)--websocket协议和javascript版的api
- js的常用技巧
- Javascript之arguments
- javascript之数组操作
- js特效
- javascript dom学习笔记
- 1028: [JSOI2007]麻将
- javascript之DOM操作
- jsp前台中关于c标签的一些使用(c:choose和c:forEach)
- javascript中多维数组的使用
- JSP指令与动作元素
- Javascript算法练习(一)
- Ember.js入门教程、博文汇总
- JavaScript正则表达式上之基本语法
- javascript正则表达式用法 (test|match|search|replace|split|exec)
- JavaScript中日期时间操作
- jsp分页的处理(SSM框架举例)
- JSON.stringify和JSON.parse
- js中容易被忽视的事件问题总结
- [bzoj1014][JSOI2008]火星人prefix