如何使用此方法编写深度克隆?

时间:2014-07-01 16:48:39

标签: javascript underscore.js

这里:

What is the most efficient way to deep clone an object in JavaScript?

显然有很多方法可以做到这一点,但我想使用这篇文章的第二个最佳答案,因为它不使用jQuery。

这是我的第一次尝试。如果这对代码审查更好,请迁移,但这是一个很小的方法。

Pub.cloneDeep = function (obj) {
    _.each(nativeSlice.call(arguments, 1), function (val) {
        _.each(val, function (val_inner, key) {
            obj[key] = JSON.parse(JSON.stringify(val_inner));
        });
    });
    return obj;
};

1 个答案:

答案 0 :(得分:1)

根据评论,该方法需要验证以确保该对象由JSON可以处理的类型组成 - 它们可以在这里找到 - www.json.org - 在侧面的白色框上