Моя цель - обновить часть вложенного объекта JS, основываясь на данных, указанных пользователем. Моя проблема заключается в том, что я изо всех сил пытаюсь написать цикл, который может правильно идентифицировать часть вложенного объекта obj, из-за которого были сделаны обновления, и из-за этого невозможно заменить их в настоящее время.
У меня есть следующий объект - http://pastebin.com/ZnZbh8dz
Если взять, например, obj с идентификатором 4. Это содержит другой вложенный объект data
, который содержит
"title":"BEFORE", "statusGroup":"moose", "stockResponse":"BEFORE"
Я хочу заменить эти данные данными внутри другого объекта, чтобы у другого объекта была структура - http://pastebin.com/zGVuLJnn
Но я изо всех сил пытаюсь прокрутить большой объект, определить, где id
совпадает с id
обновленного объекта, а затем заменить его на большой объект.
Если мое объяснение не имеет смысла, то не стесняйтесь просить меня разъяснить дальше. Сама задача должна быть довольно простой, я предположил
Я решил это, используя функцию, которую я нашел в Интернете, и ее изменение для моих нужд
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;
}
}