{
"childA": 156,
"childB": 2422,
"color": "df7f00",
"id": 124,
"posA": {
"x": 5,
"y": -46,
"z": 11
},
"posB": {
"x": 5,
"y": -46,
"z": 11
},
"shapeId": "4a1b886b-913e-4aad-b5b6-6e41b0db23a6",
"xaxisA": 1,
"xaxisB": 1,
"zaxisA": 2,
"zaxisB": 2
}
最初にいくつかの重要なコンテキスト。 JavaScriptで配列を再生する。だから私は配列 "体"を持つオブジェクトを持っていて、それらの内部は "子"の配列です。上記のコードはその子の1つです。各要素が配列内のインデックスを参照できる場合の配列要素の削除
これで、.filter()メソッドでshapeIdに基づいて特定の子を削除するためのjavascriptをいくつか作成しましたが、これによって、 "childA"と "childB"の値が問題になります。チャイルド配列。子配列内のすべての要素に子*プロパティがあるわけではないことに気付くかもしれません。私は非常に困難な時間をどのように1つの要素を削除し、その結果としてスローされる子要素の配列内の他の要素の "childA"、 "childB"などの値を固定することを考えている。
私は、削除された要素の後の子を参照し、それを調整する削除された要素の前に子要素をチェックする必要があると思います。また、配列から削除される要素への参照を削除する必要があります。私はこれを達成する方法を考え出すことはできません。
私が学んでいるように私の無知を許してください、そして何か助けてくれてありがとう。ここで
は、最初の数チャイルズを持つオブジェクトです。個人的に
{
"bodies": [{
"childs": [{
"color": "560202",
"controller": {
"audioIndex": 1,
"controllers": null,
"id": 28253,
"joints": null,
"pitch": 1,
"volume": 100
},
"pos": {
"x": -13,
"y": -18,
"z": 3
},
"shapeId": "4c6e27a2-4c35-4df3-9794-5e206fef9012",
"xaxis": 2,
"zaxis": 1
}, {
"color": "0a1d5a",
"controller": {
"audioIndex": 1,
"controllers": null,
"id": 28248,
"joints": null,
"pitch": 1,
"volume": 100
},
"pos": {
"x": 16,
"y": -13,
"z": 3
},
"shapeId": "4c6e27a2-4c35-4df3-9794-5e206fef9012",
"xaxis": 1,
"zaxis": -2
},
これはオブジェクトではありませんか? –
配列を追加してください、あなたが話している。 –
これらがid値ではなくインデックス値である場合は、削除された要素の後のすべての要素をindex-1を使用するように更新する必要があります。 – Malk