首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将Map<String、List<ClassObj>>改为Map<String、List<Map>>?

如何将Map<String、List<ClassObj>>改为Map<String、List<Map>>?
EN

Stack Overflow用户
提问于 2020-08-14 05:18:53
回答 1查看 57关注 0票数 0

例如;

我想要改变

代码语言:javascript
复制
{Aug 07, 2020: [Instance of 'ActivityLog', Instance of 'ActivityLog'], Aug 04, 2020: [Instance of 'ActivityLog'], Jul 29, 2020: [Instance of 'ActivityLog'], Jul 28, 2020: [Instance of 'ActivityLog']}

代码语言:javascript
复制
{Aug 07, 2020: [{MapData}, {MapData}], Aug 04, 2020: [{MapData}], Jul 29, 2020: [{MapData}], Jul 28, 2020: [{MapData}]}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-14 05:35:17

由于还不可能在颤振反射中实现,所以您确实需要在ActivityLog中使用一个方法来创建类外的映射。

所以它可以是这样的:

代码语言:javascript
复制
Map<String, dynamic> toMap() {
  return {
    'field1': field1,
    'field2': field2
  };
}

一旦有了这个函数,就可以使用.map()函数了,如下所示:

代码语言:javascript
复制
var map1 = {
    'Aug 07, 2020': [
      ActivityLog('x1', 'x2'),
      ActivityLog('y1', 'y2'),
    ]
  };

var map2 = map1.map((key, value) {
  return MapEntry(key, value.map((e) => e.toMap()).toList());
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63406977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档