Dies könnte doppelte Frage sein, aber ich konnte keine finden.Javascript - Entfernen Objektschlüssel nicht löschen
Ich möchte einen Schlüssel eines Objekts entfernen.
Bitte überprüfen Sie zuerst meine Geige.
delete obj.something;
Wenn Sie Konsole überprüfen, werden Sie das gleiche Objekt zu sehen, in der Lage ist, in der Konsole trotz nach dem ersten console.log
löschen Verwendung gedruckt.
Warum das passiert?
Und was ist die beste Idee zum Entfernen eines Schlüssels eines Objekts?
Vielen Dank im Voraus.
'löschen' * ist * wie Sie eine Objekteigenschaft entfernen, und in Ihrer Geige wird die Eigenschaft * * entfernt. Ich glaube, Sie werden durch das Verhalten der Konsole verwirrt: In einigen Browsern, wenn Sie ein Objekt "console.log()" verwalten, behält es eine Live-Verbindung zu dem Objekt und zu dem Zeitpunkt, als Sie auf den Pfeil klicken, um es zu erweitern, wurde die Eigenschaft entfernt . Versuchen Sie 'console.log (JSON.stringify (obj))' als einen Weg, um genau den Zustand des Objekts in diesem Moment zu protokollieren: https://jsfiddle.net/dvwgeb1o/2/. Beachten Sie auch, dass Ihre 'newObj'-Variable in der Geige nicht auf ein neues Objekt verweist, sondern eine zweite Referenz auf dasselbe Objekt wie' obj'. – nnnnnn
@nnnnnn Sie haben Recht. Ich habe meine Geige so verändert. https://jsfiddle.net/Canet/dvwgeb1o/3/ Ich kann sehen, der Wert in neuen Parameter ist noch am Leben. Aber in meinem Projekt funktioniert das nicht. Ich verwende diesen Wert vor der Verwendung von delete in einen neuen Parameter, aber dieser neue Parameter hat nichts. Ich weiß nicht warum und das ist der Grund, warum ich einen anderen Weg finden will. Danke an deinen Kommentar. –
Vielleicht sollten Sie die Frage bearbeiten, um den nicht funktionierenden Code zu zeigen, weil die Prämisse, dass 'delete' nicht funktioniert, nur falsch ist, und der Code in der Frage und Geige funktioniert gut. – nnnnnn