The package collection implements
the groupBy
function.
For grouping by date:
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);
}
For removing the release_date
key from each map entry:
var newMap = groupBy(data, (obj) => obj['release_date']).map(
(k, v) => MapEntry(k, v.map((item) { item.remove('release_date'); return item;}).toList()));
For changing a key:
var newMap = groupBy(data, (obj) => obj['release_date']).map(
(k, v) => MapEntry(k, v.map((item) => {'name': item['title']}).toList()));
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…