基本信息
源码名称:js数组扁平化对象深拷贝
源码大小:3.62KB
文件格式:.js
开发语言:js
更新时间:2019-06-01
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
附件仅一个js文件
function clone(value, isDeep) {
if (value === null) return null;
if (typeof value !== 'object') return value;
if (Array.isArray(value)) {
if (isDeep) {
return value.map(item => clone(item, true))
}
return [].concat(value)
} else {
if (isDeep) {
var obj = [];
Object.keys(value).forEach(item => {
obj[item] = clone(value[item], true);
});
return obj
}
return {...value};
}
}
var objects = {c: {'A': 1, e: [1, {f: 2}]}, d: {'B': 2}};
var shallow = clone(objects, true);
console.log(shallow.c.e[1]);
console.log(shallow.c === objects.c);