Spec-Zone.ru › Dart 1

dart:core

Конструктор фабрики Map.fromIterable

Map.fromIterable(Iterable iterable, { K key(element), V value(element) })

Создаёт экземпляр Map, в котором ключи и значения вычисляются из iterable.

Создаваемая карта — это LinkedHashMap. LinkedHashMap требует, чтобы ключи реализовывали совместимые operator== и hashCode, и допускает null в качестве ключа. Она итерируется в порядке вставки ключей.

Для каждого элемента iterable этот конструктор вычисляет пару ключ-значение, применяя key и value соответственно.

Пример ниже создаёт новую карту из списка. Ключи map — это list значения, преобразованные в строки, а значения map — это квадраты list значений:

List<int> list = [1, 2, 3];
Map<String, int> map = new Map.fromIterable(list,
    key: (item) => item.toString(),
    value: (item) => item * item));

map['1'] + map['2']; // 1 + 4
map['3'] - map['2']; // 9 - 4

Если значения для key и value не указаны, по умолчанию используется функция тождества.

В следующем примере ключи и соответствующие значения map — это list значения:

map = new Map.fromIterable(list);
map[1] + map[2]; // 1 + 2
map[3] - map[2]; // 3 - 2

Ключи, вычисленные исходным iterable , не обязательно должны быть уникальными. Последнее вхождение ключа просто перезапишет любое предыдущее значение.

Источник

factory Map.fromIterable(Iterable iterable,
    {K key(element), V value(element)}) = LinkedHashMap<K, V>.fromIterable;

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/Map/Map.fromIterable.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API