2016-04-23 12 views
1

Ich habe viele (Benutzer) Objekte, die von einem Socket kommen. Bei jeder neuen Verbindung erhalte ich ein neues Benutzerobjekt, aber bei jeder Trennung habe ich gerade die ID des zuletzt getrennten Benutzers erhalten.Speichern assoziativer Daten nach ID

Wie speichern Sie diese Benutzerobjekte am besten clientseitig?

versuchte schon so etwas wie diese (Pseudo-Code ohne Steckdosen und nur zum Testen)

var connectedUsers = []; 

connectedUsers[12] = { 
    id: 12, 
    name: "Test", 
    // ... 
}; 

connectedUsers[29] = { 
    id: 29, 
    name: "Test 2" 
}; 

Kinda funktioniert - aber jetzt habe ich ein Array mit vielen leeren Räumen bekommt. Der Vorteil ist, dass es einfach wäre, einen Benutzer nur durch seine ID zu entfernen.

Die Verwendung eines Objekts zum Speichern der Objekte ist wahrscheinlich nicht die richtige Wahl, da ich keine numerischen Indizes habe.

Antwort

3

Verwenden Sie ein Objekt. Die früheren Indizes werden in Zeichenfolgen konvertiert und als Eigenschaften für das Objekt verwendet.

var connectedUsers = {}; 

Arbeitsbeispiel:

var connectedUsers = {}; 
 

 
connectedUsers[12] = { id: 12, name: "Test", }; 
 
connectedUsers[29] = { id: 29, name: "Test 2" }; 
 

 
document.write('<pre>' + JSON.stringify(connectedUsers, 0, 4) + '</pre>');

+0

Absolut, was ich suchte. Vielen Dank. – nehalist

Verwandte Themen