2017-04-12 5 views
0

Ich begann ein wenig mit TypeScript zu spielen. Ich habe zwei Klassen erstellt (Student und Listview). Ich versuche, das Array mit den von mir erstellten Schülerobjekten zu durchlaufen, aber irgendwie funktioniert es nicht.Schleife durch benutzerdefinierte Objekt-Array in TypeScript

class Student { 
    fullName: string; 
    constructor(public firstName, public middleInitial, public lastName) { 
     this.fullName = firstName + " " + middleInitial + " " + lastName; 
    } 
} 

class Listview { 
    items: Array<Student>; 
    constructor(public item_list: Array<Student>) {} 

    log(): void { 
     var items = this.items; 
     for(var i=0; i<items.length; i++) { 
      console.log(items[i]); 
     } 
    } 

} 

var list = new Listview(
    [new Student("Jane", "M.", "User"), 
    new Student("Hans", "M.", "Muster"), 
    new Student("Fritz", "B.", "Muster")] 
); 
list.log(); 

bekomme ich diese Warnung in der Konsole:

console error

Wie muss ich das Array Zugriff auf die Eigenschaften eines jeden Schülers Objekt zu lesen?

Grüße Orkun

+1

Sie setzen nicht 'Elemente' in Ihrem Code. Sie initialisieren 'item_list' im Konstruktor. –

+2

@Orkun Es gilt als gute Etikette, die Code/Konsolen-Ausgabe direkt in Ihre StackOverflow-Frage zu stellen. Ich würde empfehlen, es zu bearbeiten, um den Code zu enthalten :) – JKillian

+0

@SebastianSebald Danke. Dummer Fehler von mir, habe es nicht irgendwie gesehen, dass item_list meine Objekte enthält, seit ich es veröffentlicht habe :) –

Antwort

1

Ihre ListView sollte wie folgt aussehen, um items richtig zu initialisieren:

class Listview { 
    constructor(public items: Array<Student>) {} 

    log(): void { 
     var items = this.items; 
     for(var i=0; i<items.length; i++) { 
      console.log(items[i]); 
     } 
    } 
}