Я хочу группировать по 3 свойствам, но не каждое свойство является собственным вложенным массивом. То, что я хочу:Groovy способ группировки более чем одним свойством только на один уровень глубиной
def values=[
[day:1,month:1,year:1],
[day:1,month:1,year:1],
[day:2,month:1,year:1],
[day:2,month:2,year:1]
];
/*...some code to group by DAY, MONTH, AND YEAR
..desired result is that items with the same day,
month, and year end up in a one level deep subarray
*/
[
[[day:1,month:1,year:1],[day:1,month:1,year:1]],
[[day:2,month:1,year:1]] ,
[[day:2,month:2,year:1]]
];
Использования GroupBy() метода с несколькими затворами дает мне каждое сгруппированное имущество в качестве своего собственного вложенного массива, как [год [месяц [день []]]], который не Что мне нужно.
awesome; Благодарю. – user2782001
вызов .groupBy ({...}), за которым следует .values (), также приведет к такому же результату. – norganos
также не забудьте дважды проверить шаблон «ключ», используемый для группировки. в этом примере используется простая строка (достаточно справедливая, чтобы показать концепцию), но 11 января и 1 ноября были бы неразличимы (если входные значения действительно похожи на простые состояния простых вопросов) – norganos