Frage Wie lösche / lösche ich die Eigenschaften eines Javascript-Objekts? [Duplikat]


Mögliche Duplikate:
Wie lösche ich eine JavaScript-Variable?
So entfernen Sie eine Eigenschaft aus einem JavaScript-Objekt 

Ich suche nach einer Möglichkeit, die Eigenschaften eines JS-Objekts zu entfernen / aufheben, so dass sie nicht mehr auftauchen werden, wenn ich das Objekt durchlaufe for (var i in myObject). Wie kann das gemacht werden?


75
2018-06-26 16:19


Ursprung


Antworten:


einfach benutzen delete, aber seien Sie sich bewusst, dass Sie vollständig lesen sollten, welche Auswirkungen dies hat:

 delete object.index; //true
 object.index; //undefined

aber wenn ich es so benutzen sollte:

var x = 1; //1
delete x; //false
x; //1

Wenn Sie jedoch Variablen im globalen Namespace löschen möchten, können Sie dessen globales Objekt wie z windowoder verwenden this im äußersten Bereich, d.h.

var a = 'b';
delete a; //false
delete window.a; //true
delete this.a; //true

http://perfectionkills.com/understanding-delete/

Eine weitere Tatsache ist, dass die Verwendung von delete für ein Array den Index nicht entfernt, sondern den Wert auf undefiniert setzt, was bedeutet, dass Sie in bestimmten Kontrollstrukturen wie for-Schleifen immer noch über diese Entität iterieren, wenn es um Arrays geht, die Sie verwenden sollten splice Das ist ein Prototyp des Array-Objekts.

Beispiel-Array:

var myCars=new Array();
myCars[0]="Saab";
myCars[1]="Volvo";
myCars[2]="BMW";

wenn ich tun sollte:

delete myCars[1];

Das resultierende Array wäre:

["Saab", undefined, "BMW"]

aber mit Spleiß wie folgt:

myCars.splice(1,1);

würde ergeben:

["Saab", "BMW"]

94
2018-06-26 16:25



Um es zu leeren:

myObject["myVar"]=null;

Es zu entfernen:

delete myObject["myVar"]

wie Sie in doppelten Antworten sehen können


7
2018-06-26 16:22