РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
622 of 1245 menu

Метод map

Метод map преобразует каждый элемент итератора, применяя к нему переданную функцию-замыкание. Он возвращает новый итератор, элементы которого являются результатами применения этой функции. Параметром метод принимает замыкание, которое получает текущий элемент и возвращает преобразованное значение.

Синтаксис

iter.map(f)

Пример

Давайте умножим каждый элемент вектора на два:

fn main() { let vec = vec![1, 2, 3, 4, 5]; let res: Vec<i32> = vec.iter().map(|x| x * 2).collect(); println!("{:?}", res); }

Результат выполнения кода:

[2, 4, 6, 8, 10]

Пример

Давайте преобразуем числа в строки:

fn main() { let vec = vec![1, 2, 3, 4, 5]; let res: Vec<String> = vec.iter().map(|x| x.to_string()).collect(); println!("{:?}", res); }

Результат выполнения кода:

["1", "2", "3", "4", "5"]

Пример

Давайте получим длины строк из вектора:

fn main() { let vec = vec!["abcde", "12345", "abc", "12"]; let res: Vec<usize> = vec.iter().map(|s| s.len()).collect(); println!("{:?}", res); }

Результат выполнения кода:

[5, 5, 3, 2]

Смотрите также

  • класс Iterator,
    который представляет собой итератор по элементам коллекции
  • метод filter,
    который оставляет только элементы, удовлетворяющие условию
  • метод filter_map,
    который одновременно фильтрует и преобразует элементы
  • метод collect,
    который собирает элементы итератора в коллекцию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить