refactor: 可読性のため一部でArray.prototype.atを使うように (#11274)

* refactor: `Array.prototype.at`を使うように

* fixup! refactor: `Array.prototype.at`を使うように
This commit is contained in:
okayurisotto
2023-07-14 10:45:01 +09:00
committed by GitHub
parent c0dbc3b53f
commit 2b6dbd4fcb
19 changed files with 46 additions and 44 deletions

View File

@@ -67,8 +67,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]);
}