您的位置:首页 > Web前端 > JavaScript

JSON clone 实现

2016-06-20 23:04 323 查看
// 1:1克隆 (只考虑 f,s 为同一类型)
function deepCopy(s) {
if (!Object.keys(s).length || s === null) return;
var copy = function (f, s) {
for (var i in s) {
if (typeof s[i] === 'object' && !!s[i]) {
f[i] = s[i].constructor === Array ? [] : {};
copy(f[i], s[i]);
}
else {
f[i] = s[i];
}
}
return f;
};
return s.constructor === Array ? copy([], s) : copy({}, s);
}


// 在A的基础上,累加克隆B (只考虑 f,s 为同一类型)
function deepCopy(f, s) {
if (!Object.keys(s).length || f === null) return;
for (var i in s) {
if (typeof s[i] === 'object' && !!s[i]) {
f[i] = s[i].constructor === Array ? [] : {};
deepCopy(f[i], s[i]);
}
else {
f[i] = s[i];
}
}
return f;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: