deepCopy(valueJson) {
let result;
//判断是否为undefined
if (typeof valueJson === "undefined") {
return undefined;
}
// 判断是否为空字符串
if (valueJson === "") {
return "";
}
// 判断是否为0
if (valueJson === 0) {
return 0;
}
// 判断是否为false
if (valueJson === false) {
return false;
}
// 判断是否为 null
if (!valueJson) return null;
// 判断是否是对象
if (typeof valueJson !== "object") return valueJson;
// 判断是否是数组
if (Array.isArray(valueJson)) {
result = [];
for (let i of valueJson) {
result.push(this.deepCopy(i));
}
} //判断是否是RegExp
else if (valueJson.constructor === RegExp) {
result = valueJson;
} //判断是否是对象
else {
result = {};
for (let i in valueJson) {
result[i] = this.deepCopy(valueJson[i]);
}
}
// 返回结果
return result;
}
欢迎指教完善!