# Full Listing

A complete list of RxJS operators with clear explanations, relevant resources, and executable examples.

[*Prefer a split by operator type?*](https://www.learnrxjs.io/learn-rxjs/operators)

### Contents (In Alphabetical Order)

* [ajax](https://www.learnrxjs.io/learn-rxjs/operators/creation/ajax) ⭐
* [audit](https://www.learnrxjs.io/learn-rxjs/operators/filtering/audit)
* [auditTime](https://www.learnrxjs.io/learn-rxjs/operators/filtering/audittime)
* [buffer](https://www.learnrxjs.io/learn-rxjs/operators/transformation/buffer)
* [bufferCount](https://www.learnrxjs.io/learn-rxjs/operators/transformation/buffercount)
* [bufferTime](https://www.learnrxjs.io/learn-rxjs/operators/transformation/buffertime) ⭐
* [bufferToggle](https://www.learnrxjs.io/learn-rxjs/operators/transformation/buffertoggle)
* [bufferWhen](https://www.learnrxjs.io/learn-rxjs/operators/transformation/bufferwhen)
* [catch / catchError](https://www.learnrxjs.io/learn-rxjs/operators/error_handling/catch) ⭐
* [combineLatestAll](https://www.learnrxjs.io/learn-rxjs/operators/combination/combineall)
* [combineLatest](https://www.learnrxjs.io/learn-rxjs/operators/combination/combinelatest) ⭐
* [concat](https://www.learnrxjs.io/learn-rxjs/operators/combination/concat) ⭐
* [concatAll](https://www.learnrxjs.io/learn-rxjs/operators/combination/concatall)
* [concatMap](https://www.learnrxjs.io/learn-rxjs/operators/transformation/concatmap) ⭐
* [concatMapTo](https://www.learnrxjs.io/learn-rxjs/operators/transformation/concatmapto)
* [create](https://www.learnrxjs.io/learn-rxjs/operators/creation/create)
* [debounce](https://www.learnrxjs.io/learn-rxjs/operators/filtering/debounce)
* [debounceTime](https://www.learnrxjs.io/learn-rxjs/operators/filtering/debouncetime) ⭐
* [defaultIfEmpty](https://www.learnrxjs.io/learn-rxjs/operators/conditional/defaultifempty)
* [defer](https://www.learnrxjs.io/learn-rxjs/operators/creation/defer)
* [delay](https://www.learnrxjs.io/learn-rxjs/operators/utility/delay)
* [delayWhen](https://www.learnrxjs.io/learn-rxjs/operators/utility/delaywhen)
* [distinct](https://www.learnrxjs.io/learn-rxjs/operators/filtering/distinct)
* [distinctUntilChanged](https://www.learnrxjs.io/learn-rxjs/operators/filtering/distinctuntilchanged) ⭐
* [distinctUntilKeyChanged](https://www.learnrxjs.io/learn-rxjs/operators/filtering/distinctuntilkeychanged)
* [endWith](https://www.learnrxjs.io/learn-rxjs/operators/combination/endwith)
* [tap / do](https://www.learnrxjs.io/learn-rxjs/operators/utility/do) ⭐
* [empty](https://www.learnrxjs.io/learn-rxjs/operators/creation/empty)
* [every](https://www.learnrxjs.io/learn-rxjs/operators/conditional/every)
* [exhaustMap](https://www.learnrxjs.io/learn-rxjs/operators/transformation/exhaustmap)
* [expand](https://www.learnrxjs.io/learn-rxjs/operators/transformation/expand)
* [filter](https://www.learnrxjs.io/learn-rxjs/operators/filtering/filter) ⭐
* [finalize / finally](https://www.learnrxjs.io/learn-rxjs/operators/utility/finalize)
* [find](https://www.learnrxjs.io/learn-rxjs/operators/filtering/find)
* [first](https://www.learnrxjs.io/learn-rxjs/operators/filtering/first)
* [forkJoin](https://www.learnrxjs.io/learn-rxjs/operators/combination/forkjoin)
* [from](https://www.learnrxjs.io/learn-rxjs/operators/creation/from) ⭐
* [fromEvent](https://www.learnrxjs.io/learn-rxjs/operators/creation/fromevent)
* [generate](https://www.learnrxjs.io/learn-rxjs/operators/creation/generate)
* [groupBy](https://www.learnrxjs.io/learn-rxjs/operators/transformation/groupby)
* [iif](https://www.learnrxjs.io/learn-rxjs/operators/conditional/iif)
* [ignoreElements](https://www.learnrxjs.io/learn-rxjs/operators/filtering/ignoreelements)
* [interval](https://www.learnrxjs.io/learn-rxjs/operators/creation/interval)
* [last](https://www.learnrxjs.io/learn-rxjs/operators/filtering/last)
* [let](https://www.learnrxjs.io/learn-rxjs/operators/utility/let)
* [map](https://www.learnrxjs.io/learn-rxjs/operators/transformation/map) ⭐
* [mapTo](https://www.learnrxjs.io/learn-rxjs/operators/transformation/mapto)
* [merge](https://www.learnrxjs.io/learn-rxjs/operators/combination/merge) ⭐
* [mergeAll](https://www.learnrxjs.io/learn-rxjs/operators/combination/mergeall)
* [mergeMap / flatMap](https://www.learnrxjs.io/learn-rxjs/operators/transformation/mergemap) ⭐
* [mergeScan](https://www.learnrxjs.io/learn-rxjs/operators/transformation/mergescan)
* [multicast](https://www.learnrxjs.io/learn-rxjs/operators/multicasting/multicast)
* [of](https://www.learnrxjs.io/learn-rxjs/operators/creation/of) ⭐
* [partition](https://www.learnrxjs.io/learn-rxjs/operators/transformation/partition)
* [pluck](https://www.learnrxjs.io/learn-rxjs/operators/transformation/pluck)
* [publish](https://www.learnrxjs.io/learn-rxjs/operators/multicasting/publish)
* [race](https://www.learnrxjs.io/learn-rxjs/operators/combination/race)
* [range](https://www.learnrxjs.io/learn-rxjs/operators/creation/range)
* [repeat](https://www.learnrxjs.io/learn-rxjs/operators/utility/repeat)
* [repeatWhen](https://github.com/btroncone/learn-rxjs/blob/master/operators/utility/repeatwhen.md)
* [retry](https://www.learnrxjs.io/learn-rxjs/operators/error_handling/retry)
* [retryWhen](https://www.learnrxjs.io/learn-rxjs/operators/error_handling/retrywhen)
* [sample](https://www.learnrxjs.io/learn-rxjs/operators/filtering/sample)
* [scan](https://www.learnrxjs.io/learn-rxjs/operators/transformation/scan) ⭐
* [sequenceequal](https://www.learnrxjs.io/learn-rxjs/operators/conditional/sequenceequal)
* [share](https://www.learnrxjs.io/learn-rxjs/operators/multicasting/share) ⭐
* [shareReplay](https://www.learnrxjs.io/learn-rxjs/operators/multicasting/sharereplay) ⭐
* [single](https://www.learnrxjs.io/learn-rxjs/operators/filtering/single)
* [skip](https://www.learnrxjs.io/learn-rxjs/operators/filtering/skip)
* [skipUntil](https://www.learnrxjs.io/learn-rxjs/operators/filtering/skipuntil)
* [skipWhile](https://www.learnrxjs.io/learn-rxjs/operators/filtering/skipwhile)
* [startWith](https://www.learnrxjs.io/learn-rxjs/operators/combination/startwith) ⭐
* [switchMap](https://www.learnrxjs.io/learn-rxjs/operators/transformation/switchmap) ⭐
* [switchMapTo](https://www.learnrxjs.io/learn-rxjs/operators/transformation/switchmapto)
* [take](https://www.learnrxjs.io/learn-rxjs/operators/filtering/take) ⭐
* [takeLast](https://www.learnrxjs.io/learn-rxjs/operators/filtering/takelast)
* [takeUntil](https://www.learnrxjs.io/learn-rxjs/operators/filtering/takeuntil) ⭐
* [takeWhile](https://www.learnrxjs.io/learn-rxjs/operators/filtering/takewhile)
* [throttle](https://www.learnrxjs.io/learn-rxjs/operators/filtering/throttle)
* [throttleTime](https://www.learnrxjs.io/learn-rxjs/operators/filtering/throttletime)
* [throwError](https://www.learnrxjs.io/learn-rxjs/operators/creation/throw)
* [timeInterval](https://www.learnrxjs.io/learn-rxjs/operators/utility/timeinterval)
* [timeout](https://www.learnrxjs.io/learn-rxjs/operators/utility/timeout)
* [timeoutWith](https://www.learnrxjs.io/learn-rxjs/operators/utility/timeoutwith)
* [timer](https://www.learnrxjs.io/learn-rxjs/operators/creation/timer)
* [toArray](https://www.learnrxjs.io/learn-rxjs/operators/transformation/toarray)
* [toPromise](https://www.learnrxjs.io/learn-rxjs/operators/utility/topromise)
* [window](https://www.learnrxjs.io/learn-rxjs/operators/transformation/window)
* [windowCount](https://www.learnrxjs.io/learn-rxjs/operators/transformation/windowcount)
* [windowTime](https://www.learnrxjs.io/learn-rxjs/operators/transformation/windowtime)
* [windowToggle](https://www.learnrxjs.io/learn-rxjs/operators/transformation/windowtoggle)
* [windowWhen](https://www.learnrxjs.io/learn-rxjs/operators/transformation/windowwhen)
* [withLatestFrom](https://www.learnrxjs.io/learn-rxjs/operators/combination/withlatestfrom) ⭐
* [zip](https://www.learnrxjs.io/learn-rxjs/operators/combination/zip)

⭐ - *commonly used*

### Additional Resources

* [What Are Operators?](http://reactivex.io/rxjs/manual/overview.html#operators) 📰 - Official Docs
* [What Operators Are](https://egghead.io/lessons/rxjs-what-rxjs-operators-are) 🎥 💵 - André Staltz
