是否可以基于飞镖/扑动中的键值对从地图中删除数据



我有一个类似的地图

[
{
pid: 8876,
name: Alex
},
{
pid: 5228,
name: John
},
{
pid: 9762,
name: Fred
}
]

我需要基于pid删除整个条目,所以例如,if pid == 5228,它会删除整个相应的条目,结果是:

[
{
pid: 8876,
name: Alex
},
{
pid: 9762,
name: Fred
}
]

您可以使用removeWhere方法。

例如:map.removeWhere((pid, name) => pid == 5228);

试试这个,它可以让你更好地控制从列表中筛选出的内容

List<Map<String, dynamic>> list1 = [
{
'pid': 8876,
'name': 'Alex',
},
{
'pid': 5228,
'name': 'John',
},
{
'pid': 9762,
'name': 'Fred',
}
];
void main() {
List<Map<String, dynamic>> list2 = [];
for (Map<String, dynamic> listItem in list1) {
if(listItem['pid'] != 5228) {
list2.add(listItem);
}
}
print(list2);
}

最新更新