# Transformation

Transforming values as they pass through the operator chain is a common task. These operators provide transformation techniques for nearly any use-case you will encounter.

{% hint style="info" %}
New to transformation operators? Check out the article [Get started transforming streams with map, pluck, and mapTo](https://www.learnrxjs.io/learn-rxjs/concepts/get-started-transforming)!
{% endhint %}

## Contents

* [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)
* [concatMap](https://www.learnrxjs.io/learn-rxjs/operators/transformation/concatmap) ⭐
* [concatMapTo](https://www.learnrxjs.io/learn-rxjs/operators/transformation/concatmapto)
* [exhaustMap](https://www.learnrxjs.io/learn-rxjs/operators/transformation/exhaustmap)
* [expand](https://www.learnrxjs.io/learn-rxjs/operators/transformation/expand)
* [groupBy](https://www.learnrxjs.io/learn-rxjs/operators/transformation/groupby)
* [map](https://www.learnrxjs.io/learn-rxjs/operators/transformation/map) ⭐
* [mapTo](https://www.learnrxjs.io/learn-rxjs/operators/transformation/mapto)
* [mergeMap / flatMap](https://www.learnrxjs.io/learn-rxjs/operators/transformation/mergemap) ⭐
* [mergeScan](https://www.learnrxjs.io/learn-rxjs/operators/transformation/mergescan)
* [partition](https://www.learnrxjs.io/learn-rxjs/operators/transformation/partition)
* [pluck](https://www.learnrxjs.io/learn-rxjs/operators/transformation/pluck)
* [reduce](https://www.learnrxjs.io/learn-rxjs/operators/transformation/reduce)
* [scan](https://www.learnrxjs.io/learn-rxjs/operators/transformation/scan) ⭐
* [switchMap](https://www.learnrxjs.io/learn-rxjs/operators/transformation/switchmap) ⭐
* [switchMapTo](https://www.learnrxjs.io/learn-rxjs/operators/transformation/switchmapto)
* [toArray](https://www.learnrxjs.io/learn-rxjs/operators/transformation/toarray)
* [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)

⭐ - *commonly used*
