{
"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中玩數組。所以我有一個數組「物體」的對象,其中有一個「孩子」的數組。上面張貼的代碼是其中的一個孩子。當每個元素可以引用數組中的索引時移除數組元素
現在我已經寫了一些JavaScript來刪除基於shapeId與.filter()方法的某些孩子,但這會產生一個問題與「childA」和「childB」值指向某個特定的索引孩子們陣列。值得注意的是,並非childs數組中的所有元素都具有child *屬性。我很難考慮如何完成刪除一個元素,然後修復childs數組中其他元素的「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值,那麼您可能必須更新刪除元素後面的所有元素才能使用索引-1。 – Malk