Метод map
Метод map преобразует каждый элемент коллекции
с помощью переданной функции и возвращает новую
коллекцию с преобразованными элементами. Исходная
коллекция при этом не изменяется. В первый параметр
мы передаем функцию-преобразователь, которая
принимает текущий элемент коллекции и возвращает
новое значение. Метод возвращает ленивую коллекцию
Iterable, поэтому преобразование выполняется
только в момент обращения к элементам результата.
Синтаксис
iterable.map(element => newValue)
Пример
Давайте умножим каждый элемент списка на 2:
void main()
{
List<int> numbers = [1, 2, 3, 4, 5];
Iterable<int> res = numbers.map((n) => n * 2);
print(res.toList());
}
Результат выполнения кода:
[2, 4, 6, 8, 10]
Пример
Давайте преобразуем каждый элемент списка в строку с восклицательным знаком:
void main()
{
List<String> letters = ['a', 'b', 'c', 'd', 'e'];
Iterable<String> res = letters.map((s) => s + '!');
print(res.toList());
}
Результат выполнения кода:
[a!, b!, c!, d!, e!]
Пример
Давайте получим длину каждой строки в списке:
void main()
{
List<String> words = ['abcde', 'ab', 'abc', 'a'];
Iterable<int> res = words.map((s) => s.length);
print(res.toList());
}
Результат выполнения кода:
[5, 2, 3, 1]