深度clone
Posted tutao1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度clone相关的知识,希望对你有一定的参考价值。
// assist.js,部分代码省略 function typeOf(obj) { const toString = Object.prototype.toString; const map = { ‘[object Boolean]‘ : ‘boolean‘, ‘[object Number]‘ : ‘number‘, ‘[object String]‘ : ‘string‘, ‘[object Function]‘ : ‘function‘, ‘[object Array]‘ : ‘array‘, ‘[object Date]‘ : ‘date‘, ‘[object RegExp]‘ : ‘regExp‘, ‘[object Undefined]‘: ‘undefined‘, ‘[object Null]‘ : ‘null‘, ‘[object Object]‘ : ‘object‘ }; return map[toString.call(obj)]; } // deepCopy function deepCopy(data) { const t = typeOf(data); let o; if (t === ‘array‘) { o = []; } else if ( t === ‘object‘) { o = {}; } else { return data; } if (t === ‘array‘) { for (let i = 0; i < data.length; i++) { o.push(deepCopy(data[i])); } } else if ( t === ‘object‘) { for (let i in data) { o[i] = deepCopy(data[i]); } } return o; } export {deepCopy};
以上是关于深度clone的主要内容,如果未能解决你的问题,请参考以下文章
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段