2016-01-10 73 views
0

我的目標是根據用戶指定的詳細信息更新嵌套JS對象的一部分。我的問題是,我正在努力編寫一個循環,可以正確識別嵌套obj的部分,更新是從中取得的,因此無法替換它們。根據元素ID更新JS對象

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

如果我們把OBJ與4的ID,例如。包含的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; 
    } 
}