You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中如何将Observable<Person[]>映射为Observable<Cars[]>

将Observable<Person[]> 映射为Observable<Car[]>

你可以使用RxJS的map操作符,结合JavaScript数组的map方法完成这个转换:

import { map } from 'rxjs/operators';

// 假设你的可观察对象名为persons$
const cars$: Observable<Car[]> = persons$.pipe(
  map(persons => 
    persons.map(person => ({
      refId: person.id,
      lable: person.name
    }))
  )
);

转换逻辑说明:

  • RxJS的map操作符负责接收persons$发出的Person[]数组
  • 数组的map方法遍历每个Person实例,将字段对应转换为Car结构:
    • Person.id 对应赋值给 Car.refId
    • Person.name 对应赋值给 Car.lable

如果原persons$发出空数组,转换后的cars$也会发出空数组,无需额外处理边界情况。

内容的提问来源于stack exchange,提问作者Catalina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 01:42:05