如何解决RXJS - 使用运算符转换项目数组
我已经挣扎了几个小时,我试图掌握更高级的概念,我认为我可以使用 reduce
运算符来实现这一点,但我想诉诸其他意见。>
以下代码手动循环遍历返回的项目数组,在水龙头内,我使用 of
只是为了模拟 observable 将发出的内容。
我想要实现的是重新映射 arrayItems
内的每个对象以具有附加属性,最终结果是一个对象数组。
我的目标是放弃水龙头,因为我觉得有更有效的方法......
of([{ foo: 'bar' },{ foo: 'baz' }])
.pipe(
tap((arrayItems) => {
const arr = [];
arrayItems.forEach((item) => {
arr.push({
...item,extraProperty: {}
});
});
return of(arr);
})
)
.subscribe();
如果有人能给我指点,我将不胜感激!
解决方法
tap
运算符不会修改您的值。这样做是为了做副作用。而是使用 map
来转换事件:
of([{ foo: 'bar' },{ foo: 'baz' }])
.pipe(
map((arrayItems) =>
arrayItems.map((item) => ({
...item,extraProperty: {}
})
);
)
.subscribe();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。