2017-05-29 9 views
0

Ich habe Benutzer als solche definiert;Javascript: Löschen/Bearbeiten Objekt innerhalb Objekt

const initUsers = { 
    '[email protected]':{ 
    firstName: 'A', 
    lastName: 'Test', 
    email: '[email protected]', 
    password: 'test', 
    }, 
    '[email protected]':{ 
    firstName: 'B', 
    lastName: 'Test', 
    email: '[email protected]', 
    password: 'test', 
    } 
}; 

Ich bin in der Lage einen Benutzer abzurufen, indem initUser['[email protected]'] tun. Wie lösche ich die Benutzer basierend auf ihrem Schlüssel, der die E-Mail wie [email protected] ist? Oder wie ersetze ich es durch einen anderen Schlüssel, zum Beispiel [email protected] anstelle von [email protected]?

Vielen Dank. (JavaScript Anfänger)

+1

Danke @Cauterite. Ich stieß auf ähnliche Links, aber ich erkannte nicht, dass auf Objekte in Objekten ähnlich zugegriffen werden konnte. Jetzt sehe ich, dass es ein mögliches Duplikat sein könnte. – MNS

Antwort

0

Verwenden Javascript delete Stichwort für Sie

Sie Objekteigenschaften

delete initUsers['[email protected]']

Sollte löschen, es löschen kann nicht ändern Namen einer Eigenschaft eines Objekts. Am besten ist es, die neue Eigenschaft zum Objekt hinzuzufügen und die zu ersetzende zu löschen.

+0

Danke, es hat wie ein Zauber funktioniert. Ich werde die Antwort nach meinem Timer akzeptieren. Noch eine kurze Frage: Ich biete die Möglichkeit, Benutzerinformationen zu aktualisieren. Wäre es besser, das alte Objekt zu löschen und durch ein neues Objekt zu ersetzen, das die neuen Daten enthält (weil die E-Mail/der Schlüssel möglicherweise aktualisiert wurde) oder Eigenschaften zu löschen und sie erneut hinzuzufügen? – MNS

+0

Wie ich schon sagte, wenn Ihr Objekt unter 'a @ test.com' verschlüsselt ist und Sie es in' b @ test.com' ändern wollen, können Sie ** es ** nicht aktualisieren um ein neues unter 'b @ test.com' eingegebenes Objekt manuell hinzuzufügen, löschen Sie dann 'a @ test.com', aber wenn sich der Schlüssel nicht geändert hat, müssen Sie nur das Objekt, zu dem es zugeordnet wurde, nicht tun Löschen Sie den Schlüssel, wenn Sie einen neuen Schlüssel mit demselben Namen zu einem der aktuellen Schlüssel hinzufügen, dann wird der Wert dieses Schlüssels nur mit dem neuen Wert überschrieben – Dummy