我有一个简单的问题,我真的不知道如何使用Rxjs进行处理。
API返回的数组与此类似:
[
{
name : test1,
code : [1, 2]
},
{
name : test2,
code : [1, 2, 3]
},
...
]
我想借助Rxjs返回类似的内容:
[
{
name : test1,
code : 1
},
{
name : test1,
code : 2
},
{
name : test2,
code : 1
},
{
name : test2,
code : 2
},
{
name : test2,
code : 3
},
...
]
结合进行转换显然是可能的,但我对此一无所知。
答案 0 :(得分:2)
您实际上不需要rxjs
,只需map
运算符。您可以使用Array中的reduce
函数来实现此目的:
未经测试的代码,但您知道了
this.callToApi().pipe(
map(data => data.reduce((acc, cumm) => {
acc.push(
...cumm.code.map(code => ({ name: cumm.name, code }))
);
return acc;
}, []))
).subscribe(data => {
console.log(data);
});