【发布时间】:2021-10-29 16:11:04
【问题描述】:
我想转换类型的对象数组
{
id: number,
data: Observable<string>
}
到一个类型的对象数组
Observable<{id: number, data: string}>
尽可能仅使用 RxJS 运算符。
【问题讨论】:
标签: typescript rxjs
我想转换类型的对象数组
{
id: number,
data: Observable<string>
}
到一个类型的对象数组
Observable<{id: number, data: string}>
尽可能仅使用 RxJS 运算符。
【问题讨论】:
标签: typescript rxjs
如果我理解正确的话,应该是这样的:
const subject = new Subject<string>();
// Dummy array
const array = [
{
id: 1,
data: of("smthing")
}, {
id: 2,
data: of("smthingelse")
}, {
id: 3,
data: subject.asObservable()
}
]
// Function that maps {id: number, data: Observable<string>} into Observable<{id: number, data: string}>
const mapTo = (array) => array.map(item => item.data.pipe(map(data => ({...item, data}))));
const mappedArray = mapTo(array);
【讨论】: