Преобразование карты <ключ, значение> в список <value> - PullRequest
2 голосов
/ 18 марта 2019

Я долго искал безуспешно.Я пытаюсь преобразовать карту в список (исключая ключ).

Конечно, я могу выполнить

var addictionList = new List<AddictionDay>();
dataMan.forEach((String date, AddictionDay day) {
    addictionList.add(day);
});

, но есть ли более прямой подход, например

var addictionList = dataMan.toList(); 

?

map функцияКарта, кажется, не очень помогает, потому что она принимает только MapEntry<K2, V2> в качестве параметра, так что не стоит.Довольно удивлен, что никто не задавал этот вопрос раньше.

Я также думал о новом классе, расширяющем Map, но сейчас я просто ищу какой-то нативный способ сделать это, если он существует.

Ответы [ 2 ]

3 голосов
/ 18 марта 2019

Вам нужно это или что-то более сложное?

  var _map = {1: 'one', 2: 'two', 3: 'three'};
  var values =_map.values.toList();
  print(values);

Результат:

[one, two, three]

3 голосов
/ 18 марта 2019

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

var addictionList = dataMan.entries.map((MapEntry mapEntry) => mapEntry.value).toList();

mapEntry.key - это тип String, а mapEntry.value - это тип AddictionDay.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...