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

Splice a complex multidimentionnal array in javascript

本文关键字:复杂 一个 数组 javascript 拼接      更新时间:2023-09-26

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

  • 有一个字符串数组
  • 此数组的每一行都引用另一个数组,因此二维数组
  • 此第二个尺寸的每一行可以有 0 个或多个对象套接字

就我而言,我有这个:

用户[user_uid][套接字] ,其中套接字是具有属性"uid"的对象

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

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

编辑

数据示例:

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