shfshanyue / Daily-Question

互联网大厂内推及大厂面经整理,并且每天一道面试题推送。每天五分钟,半年大厂中
https://q.shanyue.tech
4.95k stars 509 forks source link

【Q757】如何解决深拷贝问题中的循环引用 #813

Open shfshanyue opened 7 months ago

shfshanyue commented 7 months ago

例:

const o = { a: null }

o.a = o
echoustintian commented 4 months ago

正常的深拷贝,加一个 Map 记录深拷贝时遍历的属性值,如果两个属性值重复了且这个属性值为引用,那么就不去遍历这个对象的属性