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

时间:2016-04-25 16:18:12

标签: javascript arrays sockets multidimensional-array splice

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

  • 有一个字符串数组
  • 此数组的每一行都引用另一个数组,因此是二维数组
  • 此第二维的每一行可能有0个或多个对象插槽

就我而言,我有这个:

用户[user_uid] [socket] ,其中socket是具有“uid”属性的对象

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

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

修改

数据的例子:

IsValueClose

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

显然,所有内容都经过简化,以尽可能简单地反映我的约束。

1 个答案:

答案 0 :(得分:0)

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);
}