Javascript多维数组

时间:2015-11-12 05:42:10

标签: javascript

我正在创建一个聊天应用程序,我遇到了扩展问题。我想创建一个数组“roomspace”,它拥有多个“房间”,每个房间都有多个“用户”。我显然可以对这个东西进行硬编码,但是对于缩放比例,我需要声明类似于roompace [] []的东西。但是我无法以这种方式声明,并且在遍历数组时我也遇到了问题。有人可以给我一个如何实现这一目标的样本。我真的很感激。

1 个答案:

答案 0 :(得分:1)

这是一款适合您的小型号。我创建了roomSpace一个对象,您可以在其中按名称访问房间而不是索引。

你也有房间对象的构造函数知道如何处理房间

最后一个循环演示了如何遍历整个roomSpace

您可以动态添加任意数量的会议室和任意数量的用户。您可以通过添加更多方法和属性来扩展此模型。

//Your room space
var roomSpace = {};    


//This function returns a room object
function constructRoom() {
    return {                
                users: [],        
                addUser: function(userName) {
                    this.users.push(userName);
                },

                clearUsers: function() {
                    this.users = {};
                }    
            }
}     



//Here you add rooms    
roomSpace['javascript'] = constructRoom();
roomSpace['php'] = constructRoom();

//Add some users
roomSpace['javascript'].addUser('charlie');
roomSpace['php'].addUser('john');


//Clear the whole room space of users
for (var room in roomSpace) {
  roomSpace[room].clearUsers();
}