我有这个:
final data = [
{
'name': 'Team A',
'team': ['Klay Lewis', 'Ehsan Woodard', 'River Bains']
},
{
'name': 'Team B',
'team': ['Toyah Downs', 'Tyla Kane']
},
{
'name': 'Team C',
'team': [
'Jacky Chan',
'Yalor Rowds',
'Tim Bourla',
'Levis Strauss',
'Jane Smow'
]
}
];
我想找到最快的方法得到所有团队成员的总数。在上面的例子中,它将是3+2+5=10个总成员。
真实世界的数据将有数千个团队,因此需要最快的方式。
fold
将完成任务。
final int totalLength = data.fold(0, (sum, obj) => sum + obj['team'].length);
import 'package:collection/collection.dart';
const data = [...];
void main(List<String> args) {
var members = data.map((e) => (e['team'] as List).length).sum;
print(members);
}