function groupSelect(values, keyof, k = 1, compare = ascending) {
return new Map(Array.from(group(values, keyof), ([key, values]) => {
quickselect(values, k, undefined, undefined, compare);
if (values.length > k) values.length = k;
return [key, values];
}));
}