C/C++教程

实现深拷贝函数 clone()

本文主要是介绍实现深拷贝函数 clone(),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
function deepClone(obj){
	function isObject(o){
		return (typeof o === 'object' || typeof o === 'function') && o !== null
	}
	if(!isObject(obj)){return obj}
	
	let newObj = Array.isArray(obj) ? [] : {}
	for(key in obj){
		if(obj.hasOwnProperty(key)){
			newObj[key] = isObject(obj[key]) ? deepClone(obj[key]) : obj[key]
		}
	}
	return newObj
}

hasOwnProperty 判断该属性是否为对象的自有属性

这篇关于实现深拷贝函数 clone()的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!