2016-07-02 21 views
0

我已经宣布我的界面类似这样的如何从Typescript中的字典接口获取数据?

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

当我得到的数据我不喜欢这样

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

我收到的所有数据包括_id,名称和我不想要的年龄, 如何才能在“书籍”中获取数据?

+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