туда могу отправить что-то типа этого
minBy { field_1 and field_2 and field_3 and field_4 and field_5}
Как я понял, все будет работать, найдет самую минимальную по всем полям.
Но field_N должен встраиваться в лямбду только если соответствующий field_N чекбокс включен.
Чем можно заменить перебор через if else всевозможных комбинаций?
minBy { field_1 and field_2 and field_3 and field_4}
minBy { field_2 and field_3 and field_4 and field_5}
minBy { field_3 and field_4 and field_5}
И т.д.
val criteria = setOf(MyCls.FIELD_1, MyCls.FIELD_2, …) val fields = people.map { it.asMap().filter { criteria.contains(it.key) } } val result = fields.minBy { it.reduce(0) { acc, entry -> acc and entry } }
вероятно, Миша в своем проекте показал, как это делать правильно https://github.com/Miha-x64/Lychee#approach-to-declaring-data
Обсуждают сегодня