[functional-programming] Dart : 목록 매핑 (list.map)

String예를 들어, 목록이 있습니다 .

var moviesTitles = ['Inception', 'Heat', 'Spider Man'];

Flutter에서 s moviesTitles.map목록으로 변환하는 데 사용하고 싶었습니다 Tab Widget.



답변

당신이 사용할 수있는

moviesTitles.map((title) => Tab(text: title)).toList()

예:

    bottom: new TabBar(
      controller: _controller,
      isScrollable: true,
      tabs:
        moviesTitles.map((title) => Tab(text: title)).toList()
      ,
    ),


답변

나는 플러터가 처음입니다. 이런 식으로도 달성 할 수 있다는 것을 알았습니다.

 tabs: [
    for (var title in movieTitles) Tab(text: title)
  ]

참고 : dart sdk 버전이 2.3.0 이상이어야합니다. 여기를 참조하세요.


답변

동일한 방법을 시도하지만 함수 맵에 더 많은 값이있는 다른 목록을 사용합니다. 내 문제는 반환 진술을 잊어 버리는 것이 었습니다. 이건 매우 중요합니다 🙂

 bottom: new TabBar(
      controller: _controller,
      isScrollable: true,
      tabs:
        moviesTitles.map((title) { return Tab(text: title)}).toList()
      ,
    ),


답변

예, 당신도 이렇게 할 수 있습니다

 List<String> listTab = new List();
 map.forEach((key, val) {
  listTab.add(val);
 });

 //your widget//
 bottom: new TabBar(
  controller: _controller,
  isScrollable: true,
  tabs: listTab
  ,
),


답변

...data.map((title) { return Text(title);}).toList(),

나를 위해 잘 작동합니다.


답변