Small Refactor

This commit is contained in:
2026-04-29 18:24:32 +02:00
parent 24838b8f77
commit a1bbf7cd1a
8 changed files with 20 additions and 20 deletions

View File

@@ -2,15 +2,15 @@ import {error} from "../util/error";
export function maxBy<T>(value: T[], transform: (it: T) => number): T {
if (value.length === 0) error();
let max = value[0];
let maxVal = transform(max);
let maxIt = value[0];
let maxVal = transform(maxIt);
for (let index = 1; index < value.length; index++) {
const it = value[index];
const val = transform(it);
if (val > maxVal) {
max = it;
maxIt = it;
maxVal = val;
}
}
return max;
return maxIt;
}

View File

@@ -1,14 +1,14 @@
export function maxByOrNull<T>(value: T[], transform: (it: T) => number): T | null {
if (value.length === 0) return null;
let max = value[0];
let maxVal = transform(max);
let maxIt = value[0];
let maxVal = transform(maxIt);
for (let index = 1; index < value.length; index++) {
const it = value[index];
const val = transform(it);
if (val > maxVal) {
max = it;
maxIt = it;
maxVal = val;
}
}
return max;
return maxIt;
}

View File

@@ -2,15 +2,15 @@ import {error} from "../util/error";
export function minBy<T>(value: T[], transform: (it: T) => number): T {
if (value.length === 0) error();
let min = value[0];
let minVal = transform(min);
let minIt = value[0];
let minVal = transform(minIt);
for (let index = 1; index < value.length; index++) {
const it = value[index];
const val = transform(it);
if (val < minVal) {
min = it;
minIt = it;
minVal = val;
}
}
return min;
return minIt;
}

View File

@@ -1,14 +1,14 @@
export function minByOrNull<T>(value: T[], transform: (it: T) => number): T | null {
if (value.length === 0) return null;
let min = value[0];
let minVal = transform(min);
let minIt = value[0];
let minVal = transform(minIt);
for (let index = 1; index < value.length; index++) {
const it = value[index];
const val = transform(it);
if (val < minVal) {
min = it;
minIt = it;
minVal = val;
}
}
return min;
return minIt;
}

View File

@@ -1,3 +1,3 @@
export function reversed<T>(value: T[]): T[] {
return [...value].reverse();
return value.toReversed();
}

View File

@@ -1,3 +1,3 @@
export function sorted(value: number[]): number[] {
return [...value].sort((a, b) => a - b);
return value.toSorted((a, b) => a - b);
}

View File

@@ -1,3 +1,3 @@
export function sortedBy<T>(value: T[], transform: (it: T) => number): T[] {
return [...value].sort((a, b) => transform(a) - transform(b));
return value.toSorted((a, b) => transform(a) - transform(b));
}

View File

@@ -1,3 +1,3 @@
export function sortedWith<T>(value: T[], compare: (a: T, b: T) => number): T[] {
return [...value].sort(compare);
return value.toSorted(compare);
}