前端学习案例-Es6深拷贝,weakMap解决拷贝死循环问题

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ES6</title>
</head>
<body>
<!-- function -->
<script>
function deepClone(origin,hasMap=new WeakMap()){
if(origin==undefined&&typeof origin!=="object"){
return origin;
}
if(origin instanceof Date){
return new Date(origin)
}
if(origin instanceof RegExp){
return new RegExp(origin)
}
const hashKey=hasMap.get(origin)
// const target = new origin.constructor();
if(hashKey){
return hashKey
}
hasMap.set(origin,target)
for(let k in origin){
if(origin.hasOwnProperty(k)){
target[k]=deepClone(origin[k],hasMap)
}
}
return target
}
</script>
</body>
</html>

posted @   前端导师歌谣  阅读(59)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示