RxJS中使用Map运算符的变形数据

问题描述 投票:0回答:1

我有一个第三方API,该API返回以下数据-它已使用HttpClient.从Angular Service中调用

const someObject = {

    employees:[   

        {name:"XYZ",age:30},
        {name:"ABC",age:28},
    ]
}

我想将此数据转换为以下结构,其中名称,年龄保持不变,并且描述将根据名称和年龄进行计算

{ 
  name : 
  age  : 
  description: //calculate based on name and age 
},
{ 
  name : 
  age  : 
  description:  //calculate based on name and age 
}

上面的结构将被键入某些Interface,并且最终从我的Angular service返回

如何使用RxJS执行此操作?

[有人在挣扎中可以帮助我吗

最终,我的Angular服务将按上述结构返回数据?

angular rxjs6
1个回答
0
投票

所以基本上您想添加并处理其他属性:

假设这是您服务中的方法:

getData(){...}

然后您可以简单地做到这一点:

const employees$ = this.service.getData().pipe(
  map(data => data.employees),
  map(employees => employees.map(employee => {
       const description = `My name is ${employee.name}`;
       return {...employee, description};
    }
  )
);
© www.soinside.com 2019 - 2024. All rights reserved.