Die akzeptierte Antwort ist zwar richtig, aber es fehlt die Erklärung, warum es funktioniert.
Zuallererst sollte Ihr Code die Tatsache widerspiegeln, dass es sich um pas ein Array:
var myObject = new Object();
myObject["firstname"] = "Bob";
myObject["lastname"] = "Smith";
myObject["age"] = 25;
Beachten Sie, dass alle Objekte (einschließlich Array
s) können auf diese Weise verwendet werden. Erwarten Sie jedoch nicht, dass die Standard-JavaScript-Array-Funktionen (pop, push, etc.) bei Objekten funktionieren!
Wie in der akzeptierten Antwort gesagt, können Sie dann delete
um die Einträge aus den Objekten zu entfernen:
delete myObject["lastname"]
Sie sollten sich entscheiden, welchen Weg Sie einschlagen wollen - entweder verwenden Sie Objekte (assoziative Arrays / Dictionaries) oder Arrays (Maps). Mischen Sie niemals beides.
32 Stimmen
Ein Tipp: Verwechseln Sie nicht Arrays und Maps. Einige Sprachen, wie php, haben ein einziges Objekt für beide. Obwohl Sie hier den richtigen Typ verwendet haben (new Object()), haben Sie es myArray genannt, es ist nur eine Frage der Standards einer Sprache.
0 Stimmen
Vergessen Sie nicht, dass JavaScript typfrei ist und alles ein Objekt ist. Siehe die Antwort von Saul unten.
4 Stimmen
@StephanKristyn - um genau zu sein, hat JS Typen, aber in einer dynamisch et schwach Weise. Zum Beispiel sind die Variablen in der Tat typfrei, ihre Werte jedoch nicht. Das ist die dynamisch Teil. Schwach bedeutet, dass Operationen zwischen verschiedenen Werttypen sind nicht genau definiert und beruhen auf Konvertierungen im Hintergrund; zum Beispiel
"Test" + {};
ist eine vollkommen gültige JS-Anweisung.