List 如何计算dart中地图列表中元素的出现次数?
我有一张这样的地图列表List 如何计算dart中地图列表中元素的出现次数?,list,flutter,dart,List,Flutter,Dart,我有一张这样的地图列表 data = [ { 'id': 100, 'quantity': 20 }, { 'id': 101, 'quantity': 25 }, { 'id': 101, 'quantity': 30 } { 'id': 105, 'quantity': 50 } ] data.forEach((x) => map[x] = !map.containsValue(x) ? (1) : (map[x] + 1)); print(ma
data = [
{
'id': 100,
'quantity': 20
},
{
'id': 101,
'quantity': 25
},
{
'id': 101,
'quantity': 30
}
{
'id': 105,
'quantity': 50
}
]
data.forEach((x) => map[x] = !map.containsValue(x) ? (1) : (map[x] + 1));
print(map);
Output :
{{id: 100, quantity: 20}: 1, {id: 101, quantity: 25}: 1, {id: 101, quantity: 30}: 1, {id: 105, quantity: 50}: 1}
我能够在这样的列表中计算元素的出现次数
data = [
{
'id': 100,
'quantity': 20
},
{
'id': 101,
'quantity': 25
},
{
'id': 101,
'quantity': 30
}
{
'id': 105,
'quantity': 50
}
]
data.forEach((x) => map[x] = !map.containsValue(x) ? (1) : (map[x] + 1));
print(map);
Output :
{{id: 100, quantity: 20}: 1, {id: 101, quantity: 25}: 1, {id: 101, quantity: 30}: 1, {id: 105, quantity: 50}: 1}
但是我想计算id=101出现在列表中的次数,那么我如何才能做到这一点呢?您可以使用
where
来过滤地图数组,然后使用getterlength
:
var数据=[
{'id':100,'quantity':20},
{'id':101,'quantity':25},
{'id':101,'quantity':30},
{'id':105,'数量]:50}
];
打印(data.where((e)=>e['id']==101.length);//2
您可以使用where
来过滤地图数组,然后使用getterlength
:
var数据=[
{'id':100,'quantity':20},
{'id':101,'quantity':25},
{'id':101,'quantity':30},
{'id':105,'数量]:50}
];
打印(data.where((e)=>e['id']==101.length);//2