对象deepcopy
Posted yiyitong
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象deepcopy相关的知识,希望对你有一定的参考价值。
export const deepCopy = (dst, ori) => { let keys = Object.keys(ori) keys.forEach((key) => { if (typeof ori[key] === ‘object‘) { if (Array.isArray(ori[key])) { if (!Array.isArray(dst[key])) { dst[key] = [] ori[key].forEach((el) => { dst[key].push(deepCopy({}, el)) }) } else { ori[key].forEach((el, index) => { deepCopy(dst[key][index], el) }) } } else if (ori[key] !== null) { dst[key] = {} deepCopy(dst[key], ori[key]) } else { dst[key] = null } } else if (typeof ori[key] === ‘function‘) { // do nothing } else { if (typeof dst === ‘undefined‘) { console.info(dst, ori) } dst[key] = ori[key] } }) return dst }
以上是关于对象deepcopy的主要内容,如果未能解决你的问题,请参考以下文章
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)