Eigene Objekte in javaScript erstellen und auslesen

Hallo an alle,

ich möchte mit JavaScript eigene Objekte erstellen und dann alle Objekte auslesen. Leider funktioniert mein jetziger Code nicht:

[code]var Person1 = new Person(“Werner”, 3);
alert(Person1.alter);
var Person2 = new Person(“Hans”, 4);
alert(Person2.alter);

for (i in Person){
alert(i.name +" -> "+ i.alter);
}

function Person(name, alter){
this.name = name;
this.alter = alter;
}[/code]

Wenn jemand meinen Fehler erkennt oder eine (andere) Lösung findet, wäre ich ihm sehr dankbar! Ich finde den Fehler einfach nicht…

Ich kann weder mit der rudimentären Beschreibung dessen, was du möchtest, was anfangen, noch mit „funzt nich“.

Ich dachte, das ergibt sich aus dem Code… Entschuldigung.

Zur Problembeschreibung: Ich möchte mit JavaScript eine Klasse (“Person”) erstellen und dort das Alter und den Namen mehrerer Personen speichern (ich habe das Script gerade ein bisschen abgeändert, damit es deutlicher wird). Danach möchte ich in einer for-Schleife alle Personen ausgeben lassen…

Eigenschaften werden nicht in Klassen gespeichert, sondern in den einzelnen Instanzen - und das sind bei dir Person1 und Person2.

Wenn du die in einfacher Form iterierbar haben willst - dann pack’ sie bspw. in ein Array.

Das mit dem Array ist für meinen Fall leider nicht ausreichend, da ich auch Einträge löschen möchte… Wenn ich also mitten im Array etwas lösche, habe ich dort eine “Lücke”, die nur durch Verschiebung der anderen Daten im Array geschlossen werden kann… Das ist mir aber (da ich später recht viele Einträge haben werde) zu langsam und auch irgendwie nur eine Notlösung (so ist es ja zur Zeit bei mir -> deshalb suche ich eine Alternative)…

Aus Arrays kann man auch Stücke rausschneiden, siehe Array.splice

Arrays sind idR. die geeignetste Datenstruktur für sowas.
Und selber gebastelte Lösungen können den nativ implementierten Möglichkeiten in Punkto Geschwindigkeit und Performance selten das Wasser reichen.

Und hier gibt es eine schön unverständliche Methode fürs Löschen einzelner Elemente. Sie macht aber genau das, was sie soll.
ejohn.org/blog/javascript-array-remove/

@chrisb: Schade, dass es keine bessere Möglichkeit in JS dafür gibt… Trotzdem: DANKE!

@progandy: Danke auch an Dich für den Link. Scheint genau das zu sein, was ich brauche…

Na was soll’s denn da „Besseres“ geben …?

Ich kann mir da gerade, auch unabhängig von der Sprache, wenig andere Umsetzungen vorstellen - die die Bezeichnung sinnvolle Anwendung von Objektorientierung dann auch noch verdienen würden.