Трансформация списка спортивных дисциплин в массив результатов
Условие задачи
class Sportsman { String name; int score; int age;
Sportsman({required this.name, required this.score, required this.age}); }
class Sport { String discipline; List<Sportsman> players;
Sport({required this.discipline, required this.players}); }
class Result { String discipline; List<String> qualified; int totalAge;
Result({required this.discipline, required this.qualified, required this.totalAge});
Map toJson() => { 'discipline': discipline, 'totalAge': totalAge, 'qualified': qualified.join(', ') }; }
List<Sport> triathlon = [ Sport(discipline: 'swimming', players: [ Sportsman(name: 'Mike', age: 20, score: 9), Sportsman(name: 'Jim', age: 23, score: 5), Sportsman(name: 'Sam', age: 38, score: 12), ]), Sport(discipline: 'run', players: [ Sportsman(name: 'John', age: 27, score: 8), Sportsman(name: 'Anne', age: 33, score: 11), Sportsman(name: 'David', age: 41, score: 2), ]), Sport(discipline: 'cycling', players: [ Sportsman(name: 'Fred', age: 20, score: 1), Sportsman(name: 'John', age: 20, score: 3), Sportsman(name: 'Sam', age: 20, score: 7), ]), ];
//qualified where score > 5 /// /// {"discipline":"swimming","qualified":["Mike","Sam"],"totalAge":58}, /// {"discipline":"run","qualified":["John","Anne"],"totalAge":60}, /// {"discipline":"cycling","qualified":["Sam"],"totalAge":20} ///
void main() { List<Result> results = [];
print(json.encode(results)); }
</code></pre>