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