创建对象而不是数组(JS)

时间:2019-04-08 06:57:25

标签: javascript angular typescript

我有来自后端的数据。

我正在这样的函数中处理它:

getAgentSuggestionById(agentId) {
    this._agentsService.getAgentSuggestionById(agentId).subscribe(result =>{
        this.agent = result.items.map(e => {let obj = {name: e.name, id: e.id};
            return obj;
        });
        debugger;
        this.filteredAgents = [...result.items.map(e => {let obj = {name: e.name, id: e.id};
            return obj;
        })];
    });
}

对于this.agent,我需要创建一个像这样的对象-{name: e.name, id: e.id}

结果将始终只有1个值。

现在它创建一个数组。如何创建对象?

1 个答案:

答案 0 :(得分:0)

如果您的result.items始终是单个项目的数组(即长度为1),则可以简单地通过索引访问它并直接返回嵌套对象:

getAgentSuggestionById(agentId) {
    this._agentsService.getAgentSuggestionById(agentId).subscribe(result => {
        const agent = result.items[0];
        return {
            name: agent.name,
            id: agent.id
        };
    });
}