Sto costruendo un'applicazione javascript in cui ho bisogno di registrare i dispositivi in una stanza specifica. Così ho pensato, sto facendo il mio room_name come chiave principale (il nome della stanza è unico). E ho intenzione di aggiungere i dispositivi sotto quella chiave.
Voglio avere questa configurazione:
room name
--> devices
--> device 1
--> device 2
Il codice per ottenere ciò:
var obj = {};
if(!obj['testRoom']) {
console.log("testRoom does not exist");
obj['testRoom'] = {};
obj.testRoom.devices = [];
}
//add devices to room
obj.testRoom.devices.push({id: 1, name: "Dev 1", key: "testKey"});
obj.testRoom.devices.push({id: 2, name: "Dev 2", key: "testKey2"});
L'output è come previsto. Ma sono un po 'preoccupato per la performance (in questo caso trovando una stanza sulla room_key, so a camera che voglio cercare). Mi aspetto 2000 stanze singole e da qualche parte tra 3 dispositivi per stanza. È questo il modo migliore per farlo o ci sono modi migliori?
Modifica:
Ho testato 2 metodi per cercare la stanza con la chiave della stanza: Con chiave nell'oggetto e oggetto [chiave] . I risultati sono molto simili
100000 elements
key in object:
Call took 13681.915 milliseconds.
Call took 13775.595000000001 milliseconds.
object[key]
Call took 13702.735000000002 milliseconds.
Call took 14111.225000000002 milliseconds.
La chiave nell'oggetto è un po 'più veloce. Ci sono modi migliori per cercare la stanza il più velocemente possibile?