【发布时间】:2018-02-22 03:30:45
【问题描述】:
我在转换我的 observable 时遇到问题。详情如下:
我有这样的数据
[
{
'firstName': 'John',
'lastName': 'Cash',
'age': 20
}
];
然后我从 api 获取这些数据:
public getData(): Observable<Data[]> {
return this.http.get('xxx')
.map(
response => response.json()
);
}
然后,我正在尝试订阅:
this.service.getData.subscribe(
(res) => this.data = res
);
没关系,它正在工作。但是我需要修改对象的结构,我想使用 .map 将接收到的对象转换为这个模式:
[
{
'firstName': 'John',
'lastName': 'Cash',
'age': 20,
'newProperty': 'value'
}
];
.. 对我没有任何作用.. :/ 即使我不想添加新属性,但要修改一个值,例如 firstName:
.map(
return x => x[0].firstName = 'asd'
)
它不起作用(类型'string'不能分配给类型'Data[]',我知道它的意思,但我不知道该怎么做,我的错误在哪里?)
【问题讨论】:
-
我在重新调整之前需要创建该类型的对象
-
但是没有创建新对象?例如,通过具有新属性的数据(无类型)创建全新的对象数组?也许具有传播功能。也许它没有任何意义.. 或者也许我不需要修改结构,也许有可能将变量添加到 .map 并为 observable 的每个元素复制不同的值?
-
例如,新变量将是 fullName,数据来自 firstName 和 LastName。
标签: rxjs observable