{
"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