首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >可观察类的两个数组之间的映射

可观察类的两个数组之间的映射
EN

Stack Overflow用户
提问于 2019-04-05 23:34:33
回答 1查看 717关注 0票数 0

我有两个给定的类SgFormsBaseQuestionBase,它们的成员名称略有不同,我想将其中一个的observable[]转换为另一个。

代码语言:javascript
复制
import { of, Observable } from 'rxjs'
import { map} from 'rxjs/operators'

class SgFormsBase{
  constructor(
     public id: number,
     public survey: string
  ){}
}

class QuestionBase{
  constructor(
     public qid: number,
     public qsurvey: string
  ){}
}

const a = new SgFormsBase(11, 'Endo')
const b = new SgFormsBase(12, 'Kolo')
const sg = of([a, b] )

function toQuestionsBase(sgforms: Observable<SgFormsBase[]>): Observable<QuestionBase[]> {
  return sgforms.pipe(map(
     sgform =>  new QuestionBase(sgform.id, sgform.survey)))
}

toQuestionsBase(sg)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-05 23:58:46

由于源可观测对象是SgFormsBase[]的可观测对象,因此它发出的每个值都是一个完整的数组。因此,可观察的map运算符接收整个数组。在observable map运算符内部需要另一个数组映射运算符。

代码语言:javascript
复制
function toQuestionsBase(sgforms: Observable<SgFormsBase[]>): Observable<QuestionBase[]> {
  return sgforms.pipe(map(
    sgforms => sgforms.map(sgform => new QuestionBase(sgform.id, sgform.survey))))
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55538941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档