rxjs - RXJS:使用单击事件迭代数组
问题描述
我有一个可观察的数组。我需要在鼠标单击事件上对数组中的每个元素进行一些操作。我从这样的事情开始:
merge([
this.clicks,
this.array$
]).pipe(
tap((value) => console.log(value))
).subscribe();
但是我如何迭代元素,所以在每次点击时它都会打印数组中的下一个元素?
解决方案
下面的呢?
arrayObservable = of(["how", "are", "you"]);
fromEvent(window, "click").pipe(
switchMapTo(arrayObservable$),
map((array, index) => {
return array[index % array.length]
})
)
希望能帮助到你!
推荐阅读
- oracle-adf - 如何在具有相同支持 bean 的页面之间共享迭代器值?
- android - firebase 性能返回“未收到 HTTP 响应代码”
- python - xmlformatter 忽略引号中的小于
- python - python中的正则表达式熊猫
- node.js - 触摸板捏缩放在电子(MacOS)中不起作用
- reactjs - React Native:在 Flatlist 中使用 Hooks
- docker - 如何使用 docker elk stack 设置 kibana 用户凭据
- button - 如何在按钮中使用 if else 条件 - 颤动
- java - 如果我从第一个 ArrayList 中删除了一个值,如何在两个 ArrayList 上获得相同的位置
- r - 为什么在 mgcv::bam() 中使用 cluster= 参数会导致错误?