Библиотеки » Основная библиотека (dart:core) » Iterable » map
функция Iterable::map
Создаёт новый составной объект, на основе данного и выполнения пользовательской функции
Синтаксис
Iterable
Iterable.map
(f(E element))
Передаваемые параметры
f(E element)Возвращаемое значение
IterableОписание
Метод map
позволяет получить новый составной объект, в котором значения элементов будут соответствовать результатам выполнения пользовательской callback-функции f(E element)
для каждого элемента данной коллекции (составного объекта).
Данный метод использует "ленивую" инициализацию новой коллекции. До тех пор, пока к элементам нового объекта не будет ни одного обращения, пользовательская функция f(E element)
вызываться не будет и новые значения получены не будут. Кроме этого, значения элементов не будут кешироваться, и таким образом повторная итерация по новой коллекции будет приводить к повторному вызову пользовательской callback-функции.
- функция
f(E element)
может возвращать результаты произвольного типа, а следовательно, тип возвращаемого объекта будетIterable
, а неIterable[E]
.
Заметки
Пример
void print_array(array) {
for(var x in array) {
print (x);
}
}
void main() {
// инициализируем массив с данными
var array = [0,1,2,3,4,5,6,7,8,9];
// возведем в квадрат каждый элемент данной коллекции, и вернем в качестве
// новой коллекции, в итоге получаем массив [0,1,4,9,16,25,36,49,64,81]
print_array(
array.map(
(arrayItem) {
return Math.pow(arrayItem, 2.0);
}
)
);
// изменим регистр всех букв на верхний, и вернем в качестве новой коллекции
// получаем массив ['APPLE','ORANGE','LEMON','TOMATO']
print_array(
['apple','orange','lemon','tomato'].map(
(arrayItem) {
return arrayItem.toUpperCase();
}
)
);
}
Смотрите также
Iterable::expand - Преобразует каждый элемент коллекции в 0 или более элементов новой коллекции