2016-07-02 6 views
0

私はこのTypescriptの辞書インターフェイスからデータを取得する方法は?

export interface IBookBorrower { 
    _id?: string 
    name?: string 
    age?: number 
    [books: string]: any 
} 

のように私のインターフェイスを宣言していると私は、データを取得するときに私はすべてのデータが_id、名前と私はしたくない、年齢が含ま受け取るこの

for (var bookId in this.borrower) 
    console.log(bookId, this.borrower[bookId])) 

好きです、 「書籍」でのみデータを取得するにはどうすればよいですか?

+0

'for(var book in this.borrower.books)'は本のみを戻す必要があります。 –

+0

@MetroSmurfは私がこのようにすることはできないようですが、「本」は存在しません。私はそれを試してデータを持っていません。 –

答えて

2

Typescriptは型を持つjavascriptなので、あなたは何を求めているのですか(同じオブジェクトインターフェイスのちょうど一部を繰り返します)はうまく動作しません。

借り手オブジェクトに独自のプロパティを設定する必要がありますが、それはおそらくもっときれいです。

export interface IBookBorrower { 
    _id?: string 
    name?: string 
    age?: number 
    books: { [id: string]: any } 
} 

for (var bookId in this.borrower.books) 
    console.log(bookId, this.borrower[bookId])) 
+0

私はそうだと思いますが、私はmongodbにデータを簡単に保存する方法としてそれをしたい。私はそれを変更する必要があるようです:p –

+2

mongodbはネストしたオブジェクトをうまく処理します:p – AlexG

関連する問題