Я работаю над многопользовательской игрой, и у меня есть массив комнат со следующим макетом (я добавил комментарии для лучшего понимания):
Room_Array
[
[
"Room_0", // room name
10, // max people
"Random", // room type
[ // now arrays of players follow
[
1, // ShortID
123, // position X
234, // position Y
10 // angle
],
[
2,
123,
234,
10
],
[
3,
123,
234,
10
],
]
]
// here other rooms are created with the same layout as Room_0 when the max people is reached
]
Как бы я go вокруг, чтобы удалить весь массив плеера с ShortID = 2? в случае, если он отключается?
Таким образом, желаемый результат будет:
Room_Array
[
[
"Room_0", // room name
10, // max people
"Random", // room type
[ // now arrays of players follow
[
1, // ShortID
123, // position X
234, // position Y
10 // angle
],
[
3,
123,
234,
10
],
]
]
]
Я попробовал следующий код, и в журнале консоли он показал мне элементы массива, которые мне нужно соединить, т. 2, 123, 234, 10. Закомментированное соединение привело к ошибке неопознанного элемента 1.
for (var i = 0; i < Room_Array.length; i++)
{
if (Room_Array[i][0] === PlayerObject[socket.id].RoomName)
{
for (var j = 0; j < Room_Array[i][3].length; j++)
{
if (Room_Array[i][3][j][0] === PlayerObject[socket.id].ShortID)
{
console.log("Array to splice: " + Room_Array[i][3][j]);
//Room_Array.splice([i][3][j], 1); // error unidentified 1
}
}
break;
}
}