微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter / Dart如何分组按地图列表

如何解决Flutter / Dart如何分组按地图列表

集合实现该groupBy功能

对于按日期分组:

import "package:collection/collection.dart";

main(List<String> args) {
  var data = [
    {"title": 'Avengers', "release_date": '10/01/2019'},
    {"title": 'Creed', "release_date": '10/01/2019'},
    {"title": 'Jumanji', "release_date": '30/10/2019'},
  ];


  var newMap = groupBy(data, (obj) => obj['release_date']);

  print(newMap);
}

release_date要从每个地图条目中删除密钥:

var newMap = groupBy(data, (obj) => obj['release_date']).map(
    (k, v) => MapEntry(k, v.map((item) { item.remove('release_date'); return item;}).toList()));

更改密钥:

var newMap = groupBy(data, (obj) => obj['release_date']).map(
    (k, v) => MapEntry(k, v.map((item) => {'name': item['title']}).toList()));

解决方法

我有这张地图清单。

[
    {title: 'Avengers',release_date: '10/01/2019'},{title: 'Creed',release_date: '10/01/2019'}
    {title: 'Jumanji',release_date: '30/10/2019'},]

我想编写一个这样的代码来对电影列表进行分组release_date

[
   {
      "10/01/2019": [
         {
            "title": "Avengers"
         },{
            "title": "Creed"
         }
      ]
   },{
      "30/10/2019": [
         {
            "title": "Jumanji"
         }
      ]
   }
]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。