基于元素ID更新JS对象

时间:2016-01-10 14:27:04

标签: javascript angularjs

我的目标是根据用户指定的细节更新嵌套JS对象的一部分。我的问题是,我正在努力编写一个循环,可以正确识别嵌套obj的部分,更新是从中获取的,因此目前无法替换它们。

我有以下obj - http://pastebin.com/ZnZbh8dz

例如,如果我们使用ID为4的obj。它包含另一个data的嵌套对象,其中包含

"title":"BEFORE", "statusGroup":"moose", "stockResponse":"BEFORE"

我想用另一个对象内的数据替换该数据,其他对象的结构为 - http://pastebin.com/zGVuLJnn

但我正在努力遍历大对象,确定id与更新对象的id匹配的位置,然后在大对象中替换它。

如果我的解释没有意义,那么请随时让我进一步澄清。任务本身应该很简单,我假设

1 个答案:

答案 0 :(得分:0)

我通过使用我在网上找到并根据我的需要修改它的功能来解决这个问题

function findAndReplace(object, value, replacevalue, field, objId) {

    for (var x in object) {
        if (typeof object[x] == 'object') {
            findAndReplace(object[x], value, replacevalue, field, objId);
        }
    }

    if (object[x] == value) {
        object[field] = replacevalue;
    }
}