数组判定 : 数据 instanceOf Array 为true则表示数据是数组, 为false则表示数据不是数组!
对象判定:Object.prototype.toString.call(obj) === "[object Object]"为true则表示obj是对象,
function cloneDeep(data) {
let clone = null;
if (data instanceof Array) {
clone = [];
} else {
clone = {};
}
for (let attr in data) {
if (
data[attr] instanceof Array ||
Object.prototype.toString.call(data[attr]) === "[object Object]"
) {
clone[attr] = cloneDeep(data[attr]);
} else {
clone[attr] = data[attr];
}
}
return clone;
}