在javascript中拼接一个复杂的多维数组

Splice a complex multidimentionnal array in javascript

我正在使用 socket.io,我想创建一个函数来拼接这种形式的数组:

就我而言,我有这个:

Users[[=​​47=]][socket],其中 socket 是具有 属性 的对象“uid”

我必须创建一个使用 UID 属性 正确删除数组套接字的函数。 如果特定用户没有另一个套接字,那么我必须删除该用户。

我知道我必须使用拼接属性,但我真的不知道如何开始

编辑

数据示例:

Users["user_1"] [0]{ID: 1, username: nameOfuser_1}
Users["user_1"] [1]{ID: 2, username: nameOfuser_1}
Users["user_1"] [2]{ID: 3, username: nameOfuser_1}
Users["user_2"] [0]{ID: 4, username: nameOfuser_2}
Users["user_3"] [0]{ID: 5, username: nameOfuser_3}
Users["user_3"] [1]{ID: 6, username: nameOfuser_3}

想按 ID 删除对象。如果我们删除ID为4的对象,必须删除user_2.

显然,一切都已简化,以尽可能简单地反映我的限制。

for(var current in Users[uid]){
    if(current.id == object.id){
        current.splice(Users.indexOf(current), 1);
        break;
    }
}

if(Users[uid].length == 0){
    Users.splice(Users.indexOf(uid),1);
}