Angular Operators Tutorial 🎯

beginner
16 min

Angular Operators Tutorial 🎯

Welcome to our Angular Operators tutorial! In this guide, we'll explore three powerful operators - map, filter, and tap. These operators are essential tools for transforming and manipulating data in your Angular applications. Let's dive in!

What are Operators in Angular? 📝

Operators in Angular are functions that can be used to perform various operations on Observables. Observables are a way to represent sequences of data, and operators allow us to transform these sequences in various ways.

Map Operator 💡

The map operator is used to transform the items in an Observable sequence. It applies a function to each item and returns the result as a new Observable sequence.

Example: Transforming an Array of Users

typescript
import { of } from 'rxjs'; import { map } from 'rxjs/operators'; // An array of User objects const users = [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' } ]; // Convert the array of Users to an Observable const userObservable = of(users); // Use the map operator to transform each User object into a string const userStringObservable = userObservable.pipe( map(user => `${user.id}: ${user.name}`) ); // Subscribe to the Observable to see the result userStringObservable.subscribe(console.log);

Output:

1: Alice 2: Bob 3: Charlie

Filter Operator 💡

The filter operator is used to create a new Observable sequence containing only the items that pass a test function. It filters out items that do not meet the specified criteria.

Example: Filtering Users by Name

typescript
import { of } from 'rxjs'; import { filter } from 'rxjs/operators'; // An array of User objects const users = [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' } ]; // Convert the array of Users to an Observable const userObservable = of(users); // Use the filter operator to filter Users with the name 'Bob' const bobUserObservable = userObservable.pipe( filter(user => user.name === 'Bob') ); // Subscribe to the Observable to see the result bobUserObservable.subscribe(console.log);

Output:

{ id: 2, name: 'Bob' }

Tap Operator 💡

The tap operator allows you to log, or tap into, the items emitted by an Observable. It's useful for debugging and testing purposes, as well as for side-effecting operations like updating a UI or a cache.

Example: Logging Users

typescript
import { of } from 'rxjs'; import { tap } from 'rxjs/operators'; // An array of User objects const users = [ { id: 1, name: 'Alice' }, { id: 2, name: 'Bob' }, { id: 3, name: 'Charlie' } ]; // Convert the array of Users to an Observable const userObservable = of(users); // Use the tap operator to log each User const loggedUserObservable = userObservable.pipe( tap(user => console.log(user)) ); // Subscribe to the Observable to see the result loggedUserObservable.subscribe(console.log);

Output:

{ id: 1, name: 'Alice' } { id: 2, name: 'Bob' } { id: 3, name: 'Charlie' }

Quiz 🎯

Quick Quiz
Question 1 of 1

Which operator is used to transform the items in an Observable sequence?

Quick Quiz
Question 1 of 1

Which operator allows you to log, or tap into, the items emitted by an Observable?