只需共享一块代码,如果您与我同样的情况,该代码可能很有用。当您的对象包含功能时,请小心它们也将被清除(在我的情况下,我没有任何功能,所以我没有真正管理此情况!
(!就我而言,我需要(深(复制一个JSON对象,以在数据库中创建许多国际化文档(MongoDB((每种语言,〜15(。翻译人员将能够填充新的JSON,然后我能够计算进度,以了解翻译是否以100%完成。
我在此处发布代码,以了解您是否有更好的解决方案(这是一个生产代码和应用程序的非常重要的部分(,或者在同一时间进行深层复制和清除的另一种方法。
这是我的解决方案:
const obj = {
champ1: 'test',
champ2: 'test',
champ3: {
ch: 'test',
test: 'test'
}
}
function copyAndClearObject (obj) {
if (!obj) return
let json = {}
for (const [key, value] of Object.entries(obj)) {
if (value instanceof Object) {
json[key] = copyAndClearObject(value)
} else {
json[key] = null
}
}
return json
}
console.log(copyAndClearObject(obj))