在javascript中拼接一个复杂的多维数组
Splice a complex multidimentionnal array in javascript
我正在使用 socket.io,我想创建一个函数来拼接这种形式的数组:
- 有一个字符串数组
- 这个数组的每一行都引用另一个数组,所以是二维数组
- 第二个维度的每一行可能有 0 个或多个对象套接字
就我而言,我有这个:
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);
}
我正在使用 socket.io,我想创建一个函数来拼接这种形式的数组:
- 有一个字符串数组
- 这个数组的每一行都引用另一个数组,所以是二维数组
- 第二个维度的每一行可能有 0 个或多个对象套接字
就我而言,我有这个:
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);
}