Small Refactor
This commit is contained in:
@@ -2,15 +2,15 @@ import {error} from "../util/error";
|
|||||||
|
|
||||||
export function maxBy<T>(value: T[], transform: (it: T) => number): T {
|
export function maxBy<T>(value: T[], transform: (it: T) => number): T {
|
||||||
if (value.length === 0) error();
|
if (value.length === 0) error();
|
||||||
let max = value[0];
|
let maxIt = value[0];
|
||||||
let maxVal = transform(max);
|
let maxVal = transform(maxIt);
|
||||||
for (let index = 1; index < value.length; index++) {
|
for (let index = 1; index < value.length; index++) {
|
||||||
const it = value[index];
|
const it = value[index];
|
||||||
const val = transform(it);
|
const val = transform(it);
|
||||||
if (val > maxVal) {
|
if (val > maxVal) {
|
||||||
max = it;
|
maxIt = it;
|
||||||
maxVal = val;
|
maxVal = val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return max;
|
return maxIt;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
export function maxByOrNull<T>(value: T[], transform: (it: T) => number): T | null {
|
export function maxByOrNull<T>(value: T[], transform: (it: T) => number): T | null {
|
||||||
if (value.length === 0) return null;
|
if (value.length === 0) return null;
|
||||||
let max = value[0];
|
let maxIt = value[0];
|
||||||
let maxVal = transform(max);
|
let maxVal = transform(maxIt);
|
||||||
for (let index = 1; index < value.length; index++) {
|
for (let index = 1; index < value.length; index++) {
|
||||||
const it = value[index];
|
const it = value[index];
|
||||||
const val = transform(it);
|
const val = transform(it);
|
||||||
if (val > maxVal) {
|
if (val > maxVal) {
|
||||||
max = it;
|
maxIt = it;
|
||||||
maxVal = val;
|
maxVal = val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return max;
|
return maxIt;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,15 @@ import {error} from "../util/error";
|
|||||||
|
|
||||||
export function minBy<T>(value: T[], transform: (it: T) => number): T {
|
export function minBy<T>(value: T[], transform: (it: T) => number): T {
|
||||||
if (value.length === 0) error();
|
if (value.length === 0) error();
|
||||||
let min = value[0];
|
let minIt = value[0];
|
||||||
let minVal = transform(min);
|
let minVal = transform(minIt);
|
||||||
for (let index = 1; index < value.length; index++) {
|
for (let index = 1; index < value.length; index++) {
|
||||||
const it = value[index];
|
const it = value[index];
|
||||||
const val = transform(it);
|
const val = transform(it);
|
||||||
if (val < minVal) {
|
if (val < minVal) {
|
||||||
min = it;
|
minIt = it;
|
||||||
minVal = val;
|
minVal = val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return min;
|
return minIt;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
export function minByOrNull<T>(value: T[], transform: (it: T) => number): T | null {
|
export function minByOrNull<T>(value: T[], transform: (it: T) => number): T | null {
|
||||||
if (value.length === 0) return null;
|
if (value.length === 0) return null;
|
||||||
let min = value[0];
|
let minIt = value[0];
|
||||||
let minVal = transform(min);
|
let minVal = transform(minIt);
|
||||||
for (let index = 1; index < value.length; index++) {
|
for (let index = 1; index < value.length; index++) {
|
||||||
const it = value[index];
|
const it = value[index];
|
||||||
const val = transform(it);
|
const val = transform(it);
|
||||||
if (val < minVal) {
|
if (val < minVal) {
|
||||||
min = it;
|
minIt = it;
|
||||||
minVal = val;
|
minVal = val;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return min;
|
return minIt;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
export function reversed<T>(value: T[]): T[] {
|
export function reversed<T>(value: T[]): T[] {
|
||||||
return [...value].reverse();
|
return value.toReversed();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
export function sorted(value: number[]): number[] {
|
export function sorted(value: number[]): number[] {
|
||||||
return [...value].sort((a, b) => a - b);
|
return value.toSorted((a, b) => a - b);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
export function sortedBy<T>(value: T[], transform: (it: T) => number): T[] {
|
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));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
export function sortedWith<T>(value: T[], compare: (a: T, b: T) => number): T[] {
|
export function sortedWith<T>(value: T[], compare: (a: T, b: T) => number): T[] {
|
||||||
return [...value].sort(compare);
|
return value.toSorted(compare);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user