ES6使用递归实现深拷贝

// 使用递归实现深拷贝
let deepCopy = function(obj){
	// 判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝
	let newObj = obj instanceof Array ? []: {};
	if (obj && typeof obj === 'object'){
		for (let key in obj){
			if (obj.hasOwnProperty(key)){
				newObj[key] = (obj[key] && typeof obj[key] === 'object') ? deepCopy(obj[key]) : obj[key];
			}
		 }
	}
	return newObj;
}
// 引用
let arr = [...]
let newArr = deepCopy(arr);

你可能感兴趣的:(技术随笔,javascript,开发语言,ecmascript)