feat(minBy, maxBy): Update docs for minBy & maxBy

This commit is contained in:
raon0211 2024-08-25 22:25:09 +09:00
parent 3e2e20680a
commit 8dc4fed848
8 changed files with 16 additions and 35 deletions

View File

@ -7,7 +7,8 @@
## 인터페이스
```typescript
function maxBy<T>(items: T[], getValue: (element: T) => number): T;
function maxBy<T>(items: [T, ...T[]], getValue: (element: T) => number): T;
function maxBy<T>(items: T[], getValue: (element: T) => number): T | undefined;
```
### 파라미터

View File

@ -5,7 +5,8 @@
## 인터페이스
```typescript
function minBy<T>(items: T[], getValue: (element: T) => number): T;
function minBy<T>(items: [T, ...T[]], getValue: (element: T) => number): T;
function minBy<T>(items: T[], getValue: (element: T) => number): T | undefined;
```
### 파라미터

View File

@ -1,27 +0,0 @@
# maxBy
주어진 배열 내의 요소들 중에서 조건에 따라 최솟값을 가지는 첫 번째 요소를 선택하는 함수에요.
배열이 비어있지 않다면 조건에 따라 최솟값을 가지는 첫 번째 요소를 반환하고, 비어있다면 `undefined`를 반환해요.
## 인터페이스
```typescript
function minBy<T>(elements: T[], selector: (element: T) => number): T;
```
### 파라미터
- `elements`: 검색할 요소들의 배열.
- `selector`: 요소를 받아서 객체의 속성을 반환하는 함수.
### 반환값
함수의 최솟값을 가지는 배열의 첫 번째 요소. 만약 배열이 비어있다면 `undefined`를 반환해요.
### 예시
```typescript
maxBy([{ a: 1 }, { a: 2 }, { a: 3 }], x => x.a); // 결과: { a: 3 }
maxBy([], x => x.a); // 결과: undefined
```

View File

@ -5,7 +5,8 @@ Finds the element in an array that has the maximum value when applying the `getV
## Signature
```typescript
function maxBy<T>(items: T[], getValue: (item: T) => number): T;
function maxBy<T>(items: [T, ...T[]], getValue: (element: T) => number): T;
function maxBy<T>(items: T[], getValue: (element: T) => number): T | undefined;
```
### Parameters

View File

@ -5,7 +5,8 @@ Finds the element in an array that has the minimum value when applying the `getV
## Signature
```typescript
function minBy<T>(items: T[], getValue: (item: T) => number): T;
function minBy<T>(items: [T, ...T[]], getValue: (element: T) => number): T;
function minBy<T>(items: T[], getValue: (element: T) => number): T | undefined;
```
### Parameters

View File

@ -7,7 +7,8 @@
## 签名
```typescript
function maxBy<T>(items: T[], getValue: (item: T) => number): T;
function maxBy<T>(items: [T, ...T[]], getValue: (element: T) => number): T;
function maxBy<T>(items: T[], getValue: (element: T) => number): T | undefined;
```
### 参数

View File

@ -7,7 +7,8 @@
## 签名
```typescript
function minBy<T>(items: T[], getValue: (item: T) => number): T;
function minBy<T>(items: [T, ...T[]], getValue: (element: T) => number): T;
function minBy<T>(items: T[], getValue: (element: T) => number): T | undefined;
```
### 参数

View File

@ -5,12 +5,14 @@
* @template T - The type of elements in the array.
* @param {T[]} items The array of elements to search.
* @param {(element: T) => number} getValue A function that selects a numeric value from each element.
* @returns {T} The element with the maximum value as determined by the `getValue` function.
* @returns {T | undefined} The element with the maximum value as determined by the `getValue` function.
* @example
* maxBy([{ a: 1 }, { a: 2 }, { a: 3 }], x => x.a); // Returns: { a: 3 }
* maxBy([], x => x.a); // Returns: undefined
*/
export function maxBy<T>(items: T[], getValue: (element: T) => number): T {
export function maxBy<T>(items: readonly [T, ...T[]], getValue: (element: T) => number): T;
export function maxBy<T>(items: readonly T[], getValue: (element: T) => number): T | undefined;
export function maxBy<T>(items: readonly T[], getValue: (element: T) => number): T {
let maxElement = items[0];
let max = -Infinity;