我想通過名爲「data」的嵌套varlist進行遞歸,並將其存儲在QML中作爲var
。它包含一個名爲"delegates": [ { ... }, ... , { ... } ]
的屬性,它爲一些代表聲明瞭一些屬性。如果其中一個屬性子列表包含一個屬性「"data"
我有另一個可以通過該特定代表的動作遍歷的子級別QML/Javascript:向子數組添加自引用屬性內嵌嵌套var匹配某些標識符
我想要做的是創建一個函數來遞歸追加到我的varlist如果data.delegates[0].data
存在,我想追加相當於data.delegates[0].data.parentPointer: data
;如果data.delegates[0].data.delegates[0].data
存在,我想追加一個與子級名稱匹配的子級別的指針("data"
)相當於data.delegates[0].data.delegates[0].data.parentPointer: data.delegates[0].data
等等......
我並不特別關心(計算)成本,因爲這是一個t 的Component.onCompleted
中的ime事件,並且嵌套最多隻有幾層。
這是一個Javascript問題,我相信,因爲我相信自動創建自引用指針的方式是通過某種遞歸調用function
(這是通過定義在JavaScript中用於QML)。我知道該怎麼做追加簡單var
套在Javascript操作在QML:
function appendStuff(myVar) {
var temp = myVar
temp.push("stuff")
myVar = temp
}
,我知道我可以在Javascript中有條件地檢查指定的屬性瓦特/在var
,如:
if (typeof currentLevel.data !== "undefined") {
//do stuff....
}
然而,我在遞歸方面掛了 - 如何重建一個多級數組 - 同時正確地跟蹤我在原始數組中的位置,直到我的編輯版本完成。我也意識到,當涉及到"parentPointer"
時,我可能會需要我的編輯版本來引用它自己,這有點棘手。
任何想法?
你能包括輸入數據和期望的輸出數據嗎? – naomik