#flutter #dart
Вопрос:
У меня есть список, мне просто нужно отсортировать его по номеру.
Список выглядит так
I/flutter ( 9048): [{take: 0, give: 20.0, sellerUID: eOYiEjGR2ZGAQAyKV8Ht},{take: 0, give: 40.0, sellerUID: eOYiEjGR2ZGAQAyKV8Ht},{take: 0, give: 10.0, sellerUID: eOYiEjGR2ZGAQAyKV8Ht}]
Я хочу отсортировать это, то, какое число больше, будет сверху, а затем второе, большее, как это.
Я делаю вот так
snapshot.data.sort((a, b) => a['give'].compareTo(b['give']));
но это показывает эту ошибку
type '(dynamic, dynamic) => dynamic' is not a subtype of type '((Object, Object) => int)?' of 'compare'
Комментарии:
1. Укажите тип
(a as Map)['give'].compareTo((b as Map)['give'])
2. @Mardel пытался, но не получилось
3. Вы можете конвертировать
snapshot.data
вList<Map>
и затемsort
.4. Укажите тип данных, которые вы получаете, прежде чем выполнять сортировку. Потому
dynamic
что иobject
они разные.