Angular 2 TypeScript在Response DTO类型中使用es6 Map类型

时间:2017-03-20 22:40:29

标签: javascript angular typescript

我可以在HTTP Response DTO中使用es6 Map类型吗?

例如Angular 2请求:

 public loadFoos(): Observable<FoosWrapper> {
    return this.http.get("/api/foo")
        .map(res => res.json());

}

和DTO

export class FoosWrapper{

    foos: Map<string, Foo[]>;

}

在res.json()之后,我收到的是简单的对象,而不是Map。

我知道我必须自己将数据转换为地图,但最好的方法是什么? 迭代属性?

1 个答案:

答案 0 :(得分:0)

  

但是最好的办法是什么?

我只是手动制作一张地图,就像在JavaScript中一样:

const buildMap = o => Object.keys(o).reduce((m, k) => m.set(k, o[k]), new Map());

借鉴How to convert a plain object into an ES6 Map?

的功能