gpt4 book ai didi

sorting - Grails 对多个字段进行映射排序::Groovy 对多个映射条目进行排序

转载 作者:行者123 更新时间:2023-12-02 09:45:18 25 4
gpt4 key购买 nike

被这个难住了。在 Grails 中,似乎无法在域映射中的多个列上定义默认排序,静态映射 = { sort 'prop1 desc, prop2 asc' }, 或 { sort([prop1:'desc', prop2:'asc']) }。只有第一列被排序,蹩脚。

类似地,当尝试对多个列上的 Grails findAllBy 查询进行 Groovy 排序时,第二个排序会覆盖第一个排序。

def list = [[行号:2,位置:3],[行号:1,位置:2],[行号:3,位置:1]]

list.sort{it.rowNum}.sort{it.position}

显然错过了后一种情况,即典型的情况。我看过关于:实现类似的帖子,但如果可能的话寻找更简洁的东西。

最佳答案

这是一个 Groovy 解决方案。但本质上仍然是实现一个比较器。

list.sort { map1, map2 -> map1.rowNum <=> map2.rowNum ?: map1.position <=> map2.position }

关于sorting - Grails 对多个字段进行映射排序::Groovy 对多个映射条目进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4882992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com