1. forEach:
- Applies a function to each element of the iterable.
List<int> numbers = [1, 2, 3, 4, 5];
numbers.forEach((int number) {
print(number); // Output : 1 2 3 4 5
});
2. map:
- Transforms each element of the iterable using a function.
List<int> numbers = [1, 2, 3, 4, 5];
List<String> stringNumbers = numbers.map((int number) {
return 'Number: $number'; // output : ['Number: 1', 'Number: 2', 'Number: 3', 'Number: 4', 'Number: 5']
}).toList();
3. where:
- Filters elements based on a condition.
List<int> numbers = [1, 2, 3, 4, 5];
List<int> evenNumbers = numbers.where((int number) {
return number % 2 == 0; // Output : [2, 4]
}).toList();
4. any:
- Checks if any element satisfies a given condition.
int> numbers = [1, 2, 3, 4, 5];
bool hasEvenNumber = numbers.any((int number) {
return number % 2 == 0; // Output : true
});
5. every:
- Checks if every element satisfies a given condition.
List<int> numbers = [1, 2, 3, 4, 5];
bool allEvenNumbers = numbers.every((int number) {
return number % 2 == 0; // Output: false
});
6. toList, toSet:
- Converts the iterable to a List or Set.
int> numbers = [1, 2, 3, 4, 5];
List<int> numbersList = numbers.toList();
Set<int> numbersSet = numbers.toSet();
// Output : numbersList: [1, 2, 3, 4, 5]
// numbersSet: {1, 2, 3, 4, 5}
7. reduce:
- Combines the elements of the iterable using a provided function.
List<int> numbers = [1, 2, 3, 4, 5];
int sum = numbers.reduce((value, element) => value + element);
// Output : Sum: 15
8. fold:
- Similar to
reduce
, but allows specifying an initial value.
List<int> numbers = [1, 2, 3, 4, 5];
int sum = numbers.fold(0, (value, element) => value + element);
// Output : Sum: 15
These operations provide powerful ways to manipulate and transform iterables in Dart. Depending on your use case, you can choose the appropriate operation to achieve the desired result.