var
としてQMLに格納された "data"というネストされたvarlistを再帰したいと思います。一部のデリゲートのプロパティを宣言する、"delegates": [ { ... }, ... , { ... } ]
という名前の属性が含まれています。これらの属性サブリストの1つに属性「"data"
」が含まれている場合、その特定のデリゲートのアクションによって横断されるサブレベルがもう1つあります。QML/Javascript:ネストされたvarマッチング内のサブアレイへの自己参照属性の追加一部の識別子
私はvarlistに再帰的に追加する関数を作成します"data"
サブレベル)、その名前に一致するサブレベル(例えば、"data"
)が検出された場合には、親レベルへのポインタを使用します。data.delegates[0].data
が存在する場合は、data.delegates[0].data.parentPointer: data
に相当するものを追加したいと思います.がある場合は、 data.delegates[0].data.delegates[0].data.parentPointer: data.delegates[0].data
などと等価です。
私は特に(計算上の)コストについては心配していません。 imeイベントはpragma Singleton
のComponent.onCompleted
であり、ネストはたかだか数レベルしかありません。
自己参照ポインタの作成を自動化する方法は、再帰的なfunction
呼び出し(これはJavascript for QMLの定義に従います)を介して行われると信じているので、これはJavascriptの問題です。しかし
if (typeof currentLevel.data !== "undefined") {
//do stuff....
}
:
function appendStuff(myVar) {
var temp = myVar
temp.push("stuff")
myVar = temp
}
と私は条件付きのw /中
var
のような名前の属性のJavaScriptで確認することができます知っている:私はQMLにJavaScriptで簡単な
var
セットの操作を追加行う方法を知っています、私は、再帰的な側面 - マルチレベル配列を再構築する方法 - 私の編集されたバージョンが完成するまで、元の配列での私の位置を適切に追跡している間、何か問題を抱えています。私はまた、おそらく自分が編集したバージョンが
"parentPointer"
になるとそれ自体を参照する必要があることを理解しています。これは扱いにくいものです。
アイデア?
入力データと予想される出力データを含めることができますか? – naomik