Flutter / Dart如何分组按地图列表
我有这张地图清单。
[ {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"
}
]
}
]
回答:
包集合实现该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()));
以上是 Flutter / Dart如何分组按地图列表 的全部内容, 来源链接: utcz.com/qa/419603.html