본문 바로가기
Flutter/Flutter FAQ

Flutter 다트: 맵을 객체의 리스트로 변환하기, Dart: convert Map to List of Objects

by 베타코드 2023. 9. 24.
반응형

질문


일부 구글 검색을 수행했지만 도움이 되는 정보를 찾지 못했습니다. 매우 간단한 작업을 수행하려고 할 때 몇 가지 오류로 인해 머리를 부딪히고 있습니다. 다음과 같은 맵을 {2019-07-26 15:08:42.889861: 150, 2019-07-27 10:26:28.909330: 182} 형식의 객체 목록으로 변환하려고 합니다:

class Weight {
  final DateTime date;
  final double weight;
  bool selected = false;

  Weight(this.date, this.weight);
}

다음과 같은 방법을 시도해 보았습니다: List<Weight> weightData = weights.map((key, value) => Weight(key, value));

맵에는 toList() 메서드가 없습니다. 아마도 dart에서 맵과 map 함수라는 객체 유형 사이의 명명법이 혼동스러울 수 있습니다. 인터넷에서 문제 해결을 하는 것이 극도로 어렵습니다.


답변


리처드 힙(Richard Heap)의 위의 댓글을 따라서, 나는 다음과 같이 할 것이다:

List<Weight> weightData =
  mapData.entries.map( (entry) => Weight(entry.key, entry.value)).toList();

toList를 호출하는 것을 잊지 마세요, Dart의 map은 Iterable의 한 종류를 반환합니다.

반응형

댓글