Как отсортировать список объектов в алфавитном порядке одного из его свойств (не имя, а действительное значение, которое содержит свойство)?
Сортировать список объектов в Flutter (Dart) по значению свойства
Ответ 1
Вы можете передать функцию сравнения в List.sort
.
someObjects.sort((a, b) => a.someProperty.compareTo(b.someProperty));
Ответ 2
Если вы хотите отсортировать объект "объекты" по свойству "имя", сделайте что-то вроде этого
objects.sort((a, b) {
return a.value['name'].toString().toLowerCase().compareTo(b.value['name'].toString().toLowerCase());
});
Ответ 3
Пример сортировки списка с использованием статических методов расширения Dart:
import 'package:enumerable/enumerable.dart';
void main(List<String> args) {
var strings = ["c", "bb", "b", "cc", null, "a", 'ccc'];
var query = strings.orderBy((s) => s).thenBy((s) => s.length);
print(query.toList());
}
Результат:
[null, a, b, bb, c, cc, ccc]