实现深拷贝函数 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 判断该属性是否为对象的自有属性

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/279775.html

(0)
上一篇 2022年8月11日 00:59
下一篇 2022年8月11日 00:59

相关推荐

发表回复

登录后才能评论