2016-01-10 3 views
0

Моя цель - обновить часть вложенного объекта JS на основе заданных пользователем деталей. Моя проблема заключается в том, что я изо всех сил пытаюсь написать цикл, который может правильно идентифицировать часть вложенного объекта obj, из-за которого были сделаны обновления, и из-за этого невозможно заменить их в настоящее время.Обновление объекта JS на основе идентификатора элемента

У меня есть следующий OBJ - http://pastebin.com/ZnZbh8dz

Если мы возьмем OBJ с идентификатором 4, например. Это содержит еще один вложенный объект data, который содержит

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

Я хочу, чтобы заменить эти данные с данными внутри другого объекта, то другой объект будет иметь структуру - http://pastebin.com/zGVuLJnn

Но я» m пытается перебрать большой объект, определить, где id соответствует id обновленного объекта, а затем заменить его на большой объект.

Если мое объяснение не имеет смысла, то не стесняйтесь просить меня уточнить дальше. Задача сама по себе должна быть достаточно простой, я полагала

ответ

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; 
    } 
} 
Смежные вопросы