簡體   English   中英

如何在JavaScript中使用關聯數組來檢索用戶?

[英]How to use associative array in JavaScript to retrieve users?

目標是列出房間中的用戶,因此一個房間可以包含許多用戶,並且應該易於檢索:

例如:

user1 = {"username":"john","sex":"male"};
user2 = {"username":"robert","sex":"male"};
user3 = {"username":"isac","sex":"male"};

rooms["room1"].push(user1);
rooms["room1"].push(user2);
rooms["room2"].push(user3);

接着

return rooms["room1"];

應該回來

{"username":"john","sex":"male"};
{"username":"robert","sex":"male"};

當然是rooms[roomName].push(user2); 不好

關於如何實現這一想法?

var roomsMap = {
    room1: [],
    room2: [],
    room3: []
};

roomsMap.room1.push(user1);

或者,如果您需要密鑰是動態的:

roomsMap[roomKey].push(someUser);

編輯:

差不多了 但是,如何使roomsMap也動態化,而不僅限於room1,room2,room3?

您可以通過這種方式將新的鍵/數組動態添加到roomsMap

(roomsMap[roomKey] = roomsMap[roomKey] || []).push(user1);

完整的例子:

var roomsMap = {},
    user1 = {"username":"john","sex":"male"},
    roomKey = 'room1';

(roomsMap[roomKey] = roomsMap[roomKey] || []).push(user1);

console.log(roomsMap[roomKey]); //[Object { username="john", sex="male"}]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM