如何在 Flutter 中使用其属性从地图列表中删除重复的项目 |飞镖



我有一个地图列表。以下是地图列表,

List teachers = [
{
'name':'John',
'subject':'English'
},
{
'name':'Rohan',
'subject':'Hindi'
},
{
'name':'Benny',
'subject':'English'
},
{
'name':'Rose',
'subject':'Tamil'
},
{
'name':'Shine',
'subject':'Kannada'
},
{
'name':'Tintu',
'subject':'English'
}
];

从这一点上,我想保留任何一位英语老师,并删除所有其他学科英语老师。以下是预期结果。

List teachers = [
{
'name':'John',
'subject':'English'
},
{
'name':'Rohan',
'subject':'Hindi'
},
{
'name':'Rose',
'subject':'Tamil'
},
{
'name':'Shine',
'subject':'Kannada'
},
];

您可以使用收集包并尝试以下操作:

var grouped =
groupBy(teachers, (Map<String, String> value) => value['subject']);
List<Map> result = grouped.entries.map((e) => e.value.first).toList();
print("result  =$result");//result  =[{name: John, subject: English}, {name: Rohan, subject: Hindi}, {name: Rose, subject: Tamil}, {name: Shine, subject: Kannada}]

最新更新