基本信息
源码名称:js数组扁平化对象深拷贝
源码大小:3.62KB
文件格式:.js
开发语言:js
更新时间:2019-06-01
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 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);