【发布时间】:2022-08-21 20:29:23
【问题描述】:
我想了解 RxJS 的 map() 运算符。
以下是按预期工作的示例之一。在此示例中,所有名称都将一一附加文本学生。
studentArray:string[]=[\'sam\',\'robert\',\'lisa\'];
from(this.studentArray).pipe(map((s:string)=>s=s+\' student\')).subscribe(d=>console.log(d));
现在我有下面的示例代码。使用此代码,我正在调用一个返回 ToDo 对象数组的服务。我想要做的是迭代每个 ToDo 对象并返回更新的对象
但是当我这样做时,它给出了一个错误,错误的原因是map 运算符中的data 变量。在上面的示例中,地图运算符没有获取 ToDo 数组的单个元素,而是将整个数组传递给地图。
我在这里做错了吗?
编辑:更新的图像。
-
没有分配的地图可能应该类似于
.pipe(map(data => data.title + \'append\')).subscribe(...)。map管道也会给你一个数组。如果要映射数组项,则必须在映射管道内执行.pipe(map(data => data.map(item => ....)))。 -
@JasonWhite这里的问题是字符串数组的功能与自定义对象数组的功能不同。请参阅我的字符串示例。我想对自定义数组对象做同样的事情。
-
提示:内联代码格式 (
like this) 只需要单个反引号。只有块格式化才需要三个反引号的“代码围栏”。
标签: angular rxjs rxjs-observables