summaryrefslogtreecommitdiff
path: root/packages/frontend/src/scripts/array.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/frontend/src/scripts/array.ts')
-rw-r--r--packages/frontend/src/scripts/array.ts5
1 files changed, 3 insertions, 2 deletions
diff --git a/packages/frontend/src/scripts/array.ts b/packages/frontend/src/scripts/array.ts
index 4620c8b735..c9a146e707 100644
--- a/packages/frontend/src/scripts/array.ts
+++ b/packages/frontend/src/scripts/array.ts
@@ -78,8 +78,9 @@ export function maximum(xs: number[]): number {
export function groupBy<T>(f: EndoRelation<T>, xs: T[]): T[][] {
const groups = [] as T[][];
for (const x of xs) {
- if (groups.length !== 0 && f(groups[groups.length - 1][0], x)) {
- groups[groups.length - 1].push(x);
+ const lastGroup = groups.at(-1);
+ if (lastGroup !== undefined && f(lastGroup[0], x)) {
+ lastGroup.push(x);
} else {
groups.push([x]);
}