ZSWYD

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

posted on 2022-08-10 23:24  苏舒  阅读(48)  评论(0)    收藏  举报

导航