2017-04-12 8 views
0

TypeScriptで少し演奏し始めました。私は2つのクラス(学生とリストビュー)を作成しました。私は作成した学生オブジェクトで配列をループしようとしていますが、何とか動作しません。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(); 

私は、コンソールでこの警告が出ます:

console error

私は各生徒のオブジェクトのプロパティを読み取るために、アレイにアクセスする必要はどうすればよいですか?

挨拶 Orkun

+1

あなたはあなたのコードで 'items'を設定しないでください。コンストラクタで 'item_list'を初期化するだけです。 –

+2

@OrkunそれはあなたのStackOverflow質問に直接コード/コンソール出力を置くために良いエチケットと考えられています。私はコードを含むように編集することをお勧めします:) – JKillian

+0

@SebastianSebaldありがとう。私の愚かな間違いは、それをどうにかして私が公開してからitem_listにオブジェクトが入っているのを見たことはありません:) –

答えて

1

あなたListView正しくitemsを初期化するために、次のようになります。

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]); 
     } 
    } 
} 
関連する問題