設置嵌套對象的值,我想知道什麼是更新多對象集合的成員在JavaScriptJavaScript的:通過ID
這裏最好的辦法是我收集的簡化版本:
this.Steps = [
{ id: 1, text: "test", childSteps:
[
{ id: 2, text: "test"},
{ id: 3, text: "test"},
{ id: 4, text: "test", childSteps:
[
{ id: 10, text: "test"},
{ id: 11, text: "test"}
]}
},
{ id: 5, text: "test"},
{ id: 6, text: "test"},
{ id: 7, text: "test"},
{ id: 8, text: "test"},
{ id: 9, text: "test"}
]
}
];
理想的做法是有一個函數被調用,如:
updateObjectByID(11, 'string to be set');
這是很容易的時候,我們只有1級對象的工作要做。但是當在多級集合上使用遞歸時,它變得更加困難。
我目前使用的是分析整個收集和建築物串像一個功能:
this.Steps[0].childSteps[3].childSteps[1].text == "string to be set"
,然後我該字符串做eval()
。
我敢肯定,可能有更清潔的解決方案。
使用eval使我的課無法壓縮順便說一句。
任何幫助將不勝感激。
在此先感謝
「*解析整個集合*」...然後在這之後仍然必須使用'eval'?不能相信,請告訴我們該代碼。 – Bergi
Infact解析整個集合和構建字符串以更新集合成員。 – Tigoes
如果我改變對象參數,它只會改變對象的引用,而不會改變我的集合,因爲當做遞歸時,我會發送childSteps作爲參考。 – Tigoes