object - 带有 Ext JS 的 jQuery 深拷贝?

标签 object extjs extend deep-copy

我已经尝试过并且很惊讶我怎么不能使用 ExtJS。让我用一个代码块来解释。

在 jQuery 中

控制台.clear();
变种 = {
乙:5,
三:4,
o:{
升:2,
人:2
}
}

变量 b = {
k: 4,
l: 3,
三:5,
o:{
米:2,
升:1
}
}

var ex = $.extend(true, a, b);
控制台.dir(ex)

这是输出

例如 = {
一种: {
问:2
},
乙:5,
三:5,
o:{
升:1,
磷:2,
米:2
}
}

Ext apply、applyIf、copyTo 不是这样工作的。如何在 ExtJS 中生成输出?

提前致谢。

最佳答案

对于最近的一个项目,我们改编了 this sample code产生以下方法:

Ext.deepCopy = function(p, c) {
    c = c || (p.constructor === Array ? [] : {});
    for (var i in p) {
        if (typeof p[i] === 'object' && p[i] !== null) {
            c[i] = p[i].constructor === Array ? [] : {};
            Ext.deepCopy(p[i], c[i]);
        } else {
            c[i] = p[i];
        }
    }
    return c;
};

关于object - 带有 Ext JS 的 jQuery 深拷贝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5332789/

相关文章:

java - 使用带有静态变量的随机 getter

Javascript:将数组转换为对象

java - 如何显示对象内部的信息

javascript - jQuery 扩展,无法读取未定义的属性

jQuery 扩展类和函数问题

javascript - 将 JS 对象(键和值)展平为单个深度数组的最佳方法

javascript - 使用 Ext 解析简单的 JSON 给出 SyntaxError : Unexpected token ILLEGAL

javascript - ext js 网格面板滚动条不适用于 jquery

extjs - 如何在 extjs 4.1 中使用包含图像的组合

javascript - ExtJS 5.1 : Change Super Class at runtime