mirror of
https://github.com/toss/es-toolkit.git
synced 2024-11-24 03:32:58 +03:00
docs: Clarify docs for es-toolkit/compat
This commit is contained in:
parent
37fe24455a
commit
0ae3e51977
@ -1,7 +1,9 @@
|
||||
# concat
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
여러 배열과 값을 하나의 배열로 연결해요.
|
||||
@ -9,7 +11,7 @@
|
||||
## 인터페이스
|
||||
|
||||
```typescript
|
||||
function concat<T>(...values: Array<T | T[]>): T[]
|
||||
function concat<T>(...values: Array<T | T[]>): T[];
|
||||
```
|
||||
|
||||
### 파라미터
|
||||
@ -24,7 +26,7 @@ function concat<T>(...values: Array<T | T[]>): T[]
|
||||
|
||||
```typescript
|
||||
// 값을 연결
|
||||
concat(1, 2, 3);
|
||||
concat(1, 2, 3);
|
||||
// 반환 값: [1, 2, 3]
|
||||
|
||||
// 배열을 연결
|
||||
|
@ -1,7 +1,9 @@
|
||||
# max
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
배열에서 최댓값을 가지는 요소를 반환해요.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# min
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
배열에서 최솟값을 가지는 요소를 반환해요.
|
||||
|
@ -1,14 +1,15 @@
|
||||
# size
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
주어진 인자의 크기를 반환해요.
|
||||
주어진 인자의 크기를 반환해요.
|
||||
|
||||
배열, 문자열, 숫자의 크기를 계산하는데요, 배열은 포함된 요소의 숫자를, 문자열은 문자의 숫자를, 객체는 열거 가능한 프로퍼티의 숫자를 반환해요.
|
||||
|
||||
|
||||
## 인터페이스
|
||||
|
||||
```typescript
|
||||
|
@ -1,10 +1,12 @@
|
||||
# zipObjectDeep
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
두 배열을 하나의 객체로 결합해요. 첫 번째 배열은 프로퍼티 경로를 나타내고, 두 번째 배열은 값을 나타내요. [zipObject](../../array/zipObject.md)와 다르게, 프로퍼티로 `a.b` 와 같은 경로를 지정할 수 있어요.
|
||||
두 배열을 하나의 객체로 결합해요. 첫 번째 배열은 프로퍼티 경로를 나타내고, 두 번째 배열은 값을 나타내요. [zipObject](../../array/zipObject.md)와 다르게, 프로퍼티로 `a.b` 와 같은 경로를 지정할 수 있어요.
|
||||
|
||||
프로퍼티 이름을 나타내는 배열이 값을 나타내는 배열보다 길면, 값들은 `undefined`로 채워져요.
|
||||
|
||||
@ -33,7 +35,10 @@ const values = [1, 2];
|
||||
const result = zipObjectDeep(paths, values);
|
||||
// result 는 { a: { b: { c: 1 } }, d: { e: { f: 2 } } }가 돼요
|
||||
|
||||
const paths = [['a', 'b', 'c'], ['d', 'e', 'f']];
|
||||
const paths = [
|
||||
['a', 'b', 'c'],
|
||||
['d', 'e', 'f'],
|
||||
];
|
||||
const values = [1, 2];
|
||||
const result = zipObjectDeep(paths, values);
|
||||
// result 는 { a: { b: { c: 1 } }, d: { e: { f: 2 } } }가 돼요
|
||||
@ -47,6 +52,6 @@ const result = zipObjectDeep(paths, values);
|
||||
## 성능 비교
|
||||
|
||||
| | [번들 사이즈](../../../bundle-size.md) | [성능](../../../performance.md) |
|
||||
| ----------------- | ----------------------------------- | ---------------------------- |
|
||||
| es-toolkit/compat | 938 바이트 (88% 작음) | 1,102,767 회 (25% 빠름) |
|
||||
| lodash-es | 7,338 바이트 | 1,476,660 회 |
|
||||
| ----------------- | -------------------------------------- | ------------------------------- |
|
||||
| es-toolkit/compat | 938 바이트 (88% 작음) | 1,102,767 회 (25% 빠름) |
|
||||
| lodash-es | 7,338 바이트 | 1,476,660 회 |
|
||||
|
@ -1,7 +1,9 @@
|
||||
# bind
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
함수의 `this`를 고정하고, `partialArgs`로 미리 인자를 제공해요.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# get
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
객체에서 주어진 경로에 있는 값을 가져와요. 그 값이 `undefined` 라면, 기본값을 반환해요.
|
||||
@ -11,19 +13,59 @@
|
||||
```typescript
|
||||
function get<T extends object, K extends keyof T>(object: T, path: K | [K]): T[K];
|
||||
function get<T extends object, K extends keyof T>(object: T | null | undefined, path: K | [K]): T[K] | undefined;
|
||||
function get<T extends object, K extends keyof T, D>(object: T | null | undefined, path: K | [K], defaultValue: D): Exclude<T[K], undefined> | D;
|
||||
function get<T extends object, K extends keyof T, D>(
|
||||
object: T | null | undefined,
|
||||
path: K | [K],
|
||||
defaultValue: D
|
||||
): Exclude<T[K], undefined> | D;
|
||||
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1]>(object: T, path: [K1, K2]): T[K1][K2];
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1]>(object: T | null | undefined, path: [K1, K2]): T[K1][K2] | undefined;
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1], D>(object: T | null | undefined, path: [K1, K2], defaultValue: D): Exclude<T[K1][K2], undefined> | D;
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1]>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2]
|
||||
): T[K1][K2] | undefined;
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1], D>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2],
|
||||
defaultValue: D
|
||||
): Exclude<T[K1][K2], undefined> | D;
|
||||
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(object: T, path: [K1, K2, K3]): T[K1][K2][K3];
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(object: T | null | undefined, path: [K1, K2, K3]): T[K1][K2][K3] | undefined;
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], D>(object: T | null | undefined, path: [K1, K2, K3], defaultValue: D): Exclude<T[K1][K2][K3], undefined> | D;
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(
|
||||
object: T,
|
||||
path: [K1, K2, K3]
|
||||
): T[K1][K2][K3];
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2, K3]
|
||||
): T[K1][K2][K3] | undefined;
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], D>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2, K3],
|
||||
defaultValue: D
|
||||
): Exclude<T[K1][K2][K3], undefined> | D;
|
||||
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(object: T, path: [K1, K2, K3, K4]): T[K1][K2][K3][K4];
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(object: T | null | undefined, path: [K1, K2, K3, K4]): T[K1][K2][K3][K4] | undefined;
|
||||
function get<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3], D>(object: T | null | undefined, path: [K1, K2, K3, K4], defaultValue: D): Exclude<T[K1][K2][K3][K4], undefined> | D;
|
||||
function get<
|
||||
T extends object,
|
||||
K1 extends keyof T,
|
||||
K2 extends keyof T[K1],
|
||||
K3 extends keyof T[K1][K2],
|
||||
K4 extends keyof T[K1][K2][K3],
|
||||
>(object: T, path: [K1, K2, K3, K4]): T[K1][K2][K3][K4];
|
||||
function get<
|
||||
T extends object,
|
||||
K1 extends keyof T,
|
||||
K2 extends keyof T[K1],
|
||||
K3 extends keyof T[K1][K2],
|
||||
K4 extends keyof T[K1][K2][K3],
|
||||
>(object: T | null | undefined, path: [K1, K2, K3, K4]): T[K1][K2][K3][K4] | undefined;
|
||||
function get<
|
||||
T extends object,
|
||||
K1 extends keyof T,
|
||||
K2 extends keyof T[K1],
|
||||
K3 extends keyof T[K1][K2],
|
||||
K4 extends keyof T[K1][K2][K3],
|
||||
D,
|
||||
>(object: T | null | undefined, path: [K1, K2, K3, K4], defaultValue: D): Exclude<T[K1][K2][K3][K4], undefined> | D;
|
||||
|
||||
function get<T>(object: Record<number, T>, path: number): T;
|
||||
function get<T>(object: Record<number, T> | null | undefined, path: number): T | undefined;
|
||||
@ -33,7 +75,11 @@ function get<D>(object: null | undefined, path: PropertyKey, defaultValue: D): D
|
||||
function get(object: null | undefined, path: PropertyKey): undefined;
|
||||
|
||||
function get<T, P extends string>(data: T, path: P): string extends P ? any : Get<T, P>;
|
||||
function get<T, P extends string, D = Get<T, P>>(data: T, path: P, defaultValue: D): Exclude<Get<T, P>, null | undefined> | D;
|
||||
function get<T, P extends string, D = Get<T, P>>(
|
||||
data: T,
|
||||
path: P,
|
||||
defaultValue: D
|
||||
): Exclude<Get<T, P>, null | undefined> | D;
|
||||
|
||||
function get(object: unknown, path: PropertyKey, defaultValue?: unknown): any;
|
||||
function get(object: unknown, path: PropertyKey | readonly PropertyKey[], defaultValue?: unknown): any;
|
||||
@ -41,9 +87,9 @@ function get(object: unknown, path: PropertyKey | readonly PropertyKey[], defaul
|
||||
|
||||
### 파라미터
|
||||
|
||||
- `obj` (`object`): 검색할 객체.
|
||||
- `path` (`string` or `number` or `symbol` or `Array<string | number | symbol>`): 프로퍼티를 가져올 경로.
|
||||
- `defaultValue` (`unknown`): 찾은 값이 `undefined` 일 때 반환할 값.
|
||||
- `obj` (`object`): 검색할 객체.
|
||||
- `path` (`string` or `number` or `symbol` or `Array<string | number | symbol>`): 프로퍼티를 가져올 경로.
|
||||
- `defaultValue` (`unknown`): 찾은 값이 `undefined` 일 때 반환할 값.
|
||||
|
||||
### 반환 값
|
||||
|
||||
@ -56,12 +102,12 @@ import { get } from 'es-toolkit/compat';
|
||||
|
||||
const obj = {
|
||||
a: {
|
||||
b: 4
|
||||
}
|
||||
b: 4,
|
||||
},
|
||||
};
|
||||
|
||||
get(obj, 'a.b'); // 4
|
||||
get(obj, ['a', 'b']); // 4
|
||||
get(obj, ['a', 'c']); // undefined
|
||||
get(obj, ['a', 'c'], null); // null
|
||||
```
|
||||
```
|
||||
|
@ -1,7 +1,9 @@
|
||||
# property
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
객체에서 주어진 경로에 있는 값을 가져오는 함수를 만들어요. 값을 가져오기 위해서는 [`get`](./get.md) 함수를 사용해요.
|
||||
@ -9,12 +11,12 @@
|
||||
## 인터페이스
|
||||
|
||||
```typescript
|
||||
function property(path: PropertyKey | readonly PropertyKey[]): (object: unknown) => any
|
||||
function property(path: PropertyKey | readonly PropertyKey[]): (object: unknown) => any;
|
||||
```
|
||||
|
||||
### 파라미터
|
||||
|
||||
- `path` (`string` or `number` or `symbol` or `Array<string | number | symbol>`): 프로퍼티를 가져올 경로.
|
||||
- `path` (`string` or `number` or `symbol` or `Array<string | number | symbol>`): 프로퍼티를 가져올 경로.
|
||||
|
||||
### 반환 값
|
||||
|
||||
@ -32,4 +34,4 @@ console.log(result); // => 3
|
||||
const getObjectValue = property(['a', 'b', 'c']);
|
||||
const result = getObjectValue({ a: { b: { c: 3 } } });
|
||||
console.log(result); // => 3
|
||||
```
|
||||
```
|
||||
|
@ -1,7 +1,9 @@
|
||||
# set
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
지정된 경로에 주어진 값을 설정해요. 경로의 일부가 존재하지 않으면 생성됩니다.
|
||||
|
@ -1,5 +1,11 @@
|
||||
# isArguments
|
||||
|
||||
::: info
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
주어진 값이 `arguments` 객체인지 확인해요.
|
||||
|
||||
이 함수는 주어진 값이 `arguments` 객체이면 `true`, 아니면 `false`를 반환해요.
|
||||
|
@ -1,5 +1,11 @@
|
||||
# isArray
|
||||
|
||||
::: info
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
주어진 값이 배열인지 확인해요.
|
||||
|
||||
이 함수는 주어진 값이 배열인지 확인해요.
|
||||
|
@ -1,5 +1,11 @@
|
||||
# isArrayLike
|
||||
|
||||
::: info
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
주어진 값이 유사 배열인지 확인해요.
|
||||
|
||||
유사 배열 객체는 `null`이나 `undefined`나 함수가 아니며, `length` 프로퍼티가 유효한 길이인 객체에요.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# isMatch
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
`target`이 `source`의 모양 및 값과 일치하는지 확인해요. 객체, 배열, `Map`, `Set`의 깊은 비교를 지원해요.
|
||||
@ -40,7 +42,10 @@ isMatch([1, 2, 3], [2, 2]); // false
|
||||
### `Map` 일치
|
||||
|
||||
```typescript
|
||||
const targetMap = new Map([['key1', 'value1'], ['key2', 'value2']]);
|
||||
const targetMap = new Map([
|
||||
['key1', 'value1'],
|
||||
['key2', 'value2'],
|
||||
]);
|
||||
const sourceMap = new Map([['key1', 'value1']]);
|
||||
isMatch(targetMap, sourceMap); // true
|
||||
```
|
||||
|
@ -1,5 +1,11 @@
|
||||
# isObjectLike
|
||||
|
||||
::: info
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
주어진 값이 객체 같은지 확인해요.
|
||||
|
||||
객체 같은 값이란, `typeof` 연산의 결과가 `'object'` 이고 `null`이 아닌 값을 말해요.
|
||||
|
@ -1,10 +1,12 @@
|
||||
# matches
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
`source`의 모양 및 값과 일치하는지 확인하는 함수를 만들어요.
|
||||
`source`의 모양 및 값과 일치하는지 확인하는 함수를 만들어요.
|
||||
객체, 배열, `Map`, `Set`과의 깊은 비교를 지원해요.
|
||||
|
||||
이 함수의 동작은 [isMatch](./isMatch.md)와 동일하고, 호출하는 방법만 달라요.
|
||||
@ -23,7 +25,6 @@ function matches(source: unknown): (target: unknown) => boolean;
|
||||
|
||||
- (`(target: unknown) => boolean`): `source`의 모양 및 값과 일치하는지 확인하는 함수. `target`이 `source`과 일치하면 `true`, 아니면 `false`를 반환해요.
|
||||
|
||||
|
||||
## 예시
|
||||
|
||||
### 객체 일치
|
||||
|
@ -1,7 +1,9 @@
|
||||
# endsWith
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
문자열이 주어진 문자열로 끝나는지 확인해요. 검색을 마칠 인덱스를 지정할 수 있어요.
|
||||
@ -27,8 +29,8 @@ function endsWith(str: string, target: string, position: number = 0): string;
|
||||
```typescript
|
||||
import { endsWith } from 'es-toolkit/compat';
|
||||
|
||||
endsWith('fooBar', 'foo') // returns true
|
||||
endsWith('fooBar', 'Bar') // returns false
|
||||
endsWith('fooBar', 'abcdef') // returns false
|
||||
endsWith('fooBar', 'Bar', 3) // returns true
|
||||
endsWith('fooBar', 'foo'); // returns true
|
||||
endsWith('fooBar', 'Bar'); // returns false
|
||||
endsWith('fooBar', 'abcdef'); // returns false
|
||||
endsWith('fooBar', 'Bar', 3); // returns true
|
||||
```
|
||||
|
@ -1,5 +1,11 @@
|
||||
# padStart
|
||||
|
||||
::: info
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
문자열을 주어진 길이가 될 때까지 앞에 글자를 추가해서 늘려요.
|
||||
|
||||
이미 문자열이 충분히 길거나, 앞에 추가할 글자가 빈 문자열이라면, 아무 동작도 하지 않아요.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# startsWith
|
||||
|
||||
::: info
|
||||
이 함수는 [lodash와 완전히 호환](../../../compatibility.md)돼요. `es-toolkit/compat` 라이브러리에서 쓸 수 있어요.
|
||||
이 함수는 호환성을 위한 `es-toolkit/compat` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.
|
||||
|
||||
`es-toolkit/compat`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
|
||||
:::
|
||||
|
||||
문자열이 주어진 문자열로 시작하는지 확인해요. 검색을 시작할 인덱스를 지정할 수 있어요.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# concat
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Concatenates multiple arrays and values into a single array.
|
||||
@ -9,7 +11,7 @@ Concatenates multiple arrays and values into a single array.
|
||||
## Signature
|
||||
|
||||
```typescript
|
||||
function concat<T>(...values: Array<T | T[]>): T[]
|
||||
function concat<T>(...values: Array<T | T[]>): T[];
|
||||
```
|
||||
|
||||
### Parameters
|
||||
@ -24,7 +26,7 @@ function concat<T>(...values: Array<T | T[]>): T[]
|
||||
|
||||
```typescript
|
||||
// Concatenate individual values
|
||||
concat(1, 2, 3);
|
||||
concat(1, 2, 3);
|
||||
// returns [1, 2, 3]
|
||||
|
||||
// Concatenate arrays of values
|
||||
|
@ -1,7 +1,9 @@
|
||||
# max
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Finds the element in an array that has the maximum value.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# min
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Finds the element in an array that has the minimum value.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# size
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Returns the size of an array, string, or object.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# zipObjectDeep
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Creates a deeply nested object given arrays of paths and values.
|
||||
@ -13,7 +15,7 @@ Paths can be dot-separated strings or arrays of property names. If the `keys` ar
|
||||
## Signature
|
||||
|
||||
```typescript
|
||||
function zipObjectDeep<P extends string | number | symbol, V>(keys: P[], values: V[]): { [K in P]: V }
|
||||
function zipObjectDeep<P extends string | number | symbol, V>(keys: P[], values: V[]): { [K in P]: V };
|
||||
```
|
||||
|
||||
### Parameters
|
||||
@ -35,7 +37,10 @@ const values = [1, 2];
|
||||
const result = zipObjectDeep(paths, values);
|
||||
// result will be { a: { b: { c: 1 } }, d: { e: { f: 2 } } }
|
||||
|
||||
const paths = [['a', 'b', 'c'], ['d', 'e', 'f']];
|
||||
const paths = [
|
||||
['a', 'b', 'c'],
|
||||
['d', 'e', 'f'],
|
||||
];
|
||||
const values = [1, 2];
|
||||
const result = zipObjectDeep(paths, values);
|
||||
// result will be { a: { b: { c: 1 } }, d: { e: { f: 2 } } }
|
||||
@ -49,6 +54,6 @@ const result = zipObjectDeep(paths, values);
|
||||
## Performance Comparison
|
||||
|
||||
| | [Bundle Size](../../../bundle-size.md) | [Performance](../../../performance.md) |
|
||||
| ----------------- | ----------------------------------- | ----------------------------------- |
|
||||
| es-toolkit/compat | 938 bytes (88% smaller) | 1,102,767 times (25% slower) |
|
||||
| lodash-es | 7,338 bytes | 1,476,660 times |
|
||||
| ----------------- | -------------------------------------- | -------------------------------------- |
|
||||
| es-toolkit/compat | 938 bytes (88% smaller) | 1,102,767 times (25% slower) |
|
||||
| lodash-es | 7,338 bytes | 1,476,660 times |
|
||||
|
@ -1,7 +1,9 @@
|
||||
# bind
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Creates a function that invokes `func` with the `this` binding of `thisObj` and `partials` prepended to the arguments it receives.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# get
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
|
||||
@ -11,19 +13,53 @@ Retrieves the value at a given path from an object. If the resolved value is und
|
||||
```typescript
|
||||
function get<T, K extends keyof T>(object: T, path: K | [K]): T[K];
|
||||
function get<T, K extends keyof T>(object: T | null | undefined, path: K | [K]): T[K] | undefined;
|
||||
function get<T, K extends keyof T, D>(object: T | null | undefined, path: K | [K], defaultValue: D): Exclude<T[K], undefined> | D;
|
||||
function get<T, K extends keyof T, D>(
|
||||
object: T | null | undefined,
|
||||
path: K | [K],
|
||||
defaultValue: D
|
||||
): Exclude<T[K], undefined> | D;
|
||||
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1]>(object: T, path: [K1, K2]): T[K1][K2];
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1]>(object: T | null | undefined, path: [K1, K2]): T[K1][K2] | undefined;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], D>(object: T | null | undefined, path: [K1, K2], defaultValue: D): Exclude<T[K1][K2], undefined> | D;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1]>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2]
|
||||
): T[K1][K2] | undefined;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], D>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2],
|
||||
defaultValue: D
|
||||
): Exclude<T[K1][K2], undefined> | D;
|
||||
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(object: T, path: [K1, K2, K3]): T[K1][K2][K3];
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(object: T | null | undefined, path: [K1, K2, K3]): T[K1][K2][K3] | undefined;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], D>(object: T | null | undefined, path: [K1, K2, K3], defaultValue: D): Exclude<T[K1][K2][K3], undefined> | D;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(
|
||||
object: T,
|
||||
path: [K1, K2, K3]
|
||||
): T[K1][K2][K3];
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2, K3]
|
||||
): T[K1][K2][K3] | undefined;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], D>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2, K3],
|
||||
defaultValue: D
|
||||
): Exclude<T[K1][K2][K3], undefined> | D;
|
||||
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(object: T, path: [K1, K2, K3, K4]): T[K1][K2][K3][K4];
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(object: T | null | undefined, path: [K1, K2, K3, K4]): T[K1][K2][K3][K4] | undefined;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3], D>(object: T | null | undefined, path: [K1, K2, K3, K4], defaultValue: D): Exclude<T[K1][K2][K3][K4], undefined> | D;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(
|
||||
object: T,
|
||||
path: [K1, K2, K3, K4]
|
||||
): T[K1][K2][K3][K4];
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2, K3, K4]
|
||||
): T[K1][K2][K3][K4] | undefined;
|
||||
function get<
|
||||
T,
|
||||
K1 extends keyof T,
|
||||
K2 extends keyof T[K1],
|
||||
K3 extends keyof T[K1][K2],
|
||||
K4 extends keyof T[K1][K2][K3],
|
||||
D,
|
||||
>(object: T | null | undefined, path: [K1, K2, K3, K4], defaultValue: D): Exclude<T[K1][K2][K3][K4], undefined> | D;
|
||||
|
||||
function get<T>(object: Record<number, T>, path: number): T;
|
||||
function get<T>(object: Record<number, T> | null | undefined, path: number): T | undefined;
|
||||
@ -33,7 +69,11 @@ function get<D>(object: null | undefined, path: PropertyKey, defaultValue: D): D
|
||||
function get(object: null | undefined, path: PropertyKey): undefined;
|
||||
|
||||
function get<T, P extends string>(data: T, path: P): string extends P ? any : Get<T, P>;
|
||||
function get<T, P extends string, D = Get<T, P>>(data: T, path: P, defaultValue: D): Exclude<Get<T, P>, null | undefined> | D;
|
||||
function get<T, P extends string, D = Get<T, P>>(
|
||||
data: T,
|
||||
path: P,
|
||||
defaultValue: D
|
||||
): Exclude<Get<T, P>, null | undefined> | D;
|
||||
|
||||
function get(object: unknown, path: PropertyKey, defaultValue?: unknown): any;
|
||||
function get(object: unknown, path: PropertyKey | readonly PropertyKey[], defaultValue?: unknown): any;
|
||||
@ -41,9 +81,9 @@ function get(object: unknown, path: PropertyKey | readonly PropertyKey[], defaul
|
||||
|
||||
### Parameters
|
||||
|
||||
- `obj` (`object`): The object to query.
|
||||
- `path` (`string` or `number` or `symbol` or `Array<string | number | symbol>`): The path of the property to get.
|
||||
- `defaultValue` (`unknown`): The value returned if the resolved value is undefined.
|
||||
- `obj` (`object`): The object to query.
|
||||
- `path` (`string` or `number` or `symbol` or `Array<string | number | symbol>`): The path of the property to get.
|
||||
- `defaultValue` (`unknown`): The value returned if the resolved value is undefined.
|
||||
|
||||
### Returns
|
||||
|
||||
@ -56,12 +96,12 @@ import { get } from 'es-toolkit/compat';
|
||||
|
||||
const obj = {
|
||||
a: {
|
||||
b: 4
|
||||
}
|
||||
b: 4,
|
||||
},
|
||||
};
|
||||
|
||||
get(obj, 'a.b'); // 4
|
||||
get(obj, ['a', 'b']); // 4
|
||||
get(obj, ['a', 'c']); // undefined
|
||||
get(obj, ['a', 'c'], null); // null
|
||||
```
|
||||
```
|
||||
|
@ -1,21 +1,23 @@
|
||||
# property
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Creates a function that returns the value at a given path of an object.
|
||||
Creates a function that returns the value at a given path of an object.
|
||||
It leverages the [`get`](./get.md) functions to obtain the value.
|
||||
|
||||
## Signature
|
||||
|
||||
```typescript
|
||||
function property(path: PropertyKey | readonly PropertyKey[]): (object: unknown) => any
|
||||
function property(path: PropertyKey | readonly PropertyKey[]): (object: unknown) => any;
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
||||
- `path` (`string` or `number` or `symbol` or `Array<string | number | symbol>`): The path of the property to get.
|
||||
- `path` (`string` or `number` or `symbol` or `Array<string | number | symbol>`): The path of the property to get.
|
||||
|
||||
### Returns
|
||||
|
||||
@ -33,4 +35,4 @@ console.log(result); // => 3
|
||||
const getObjectValue = property(['a', 'b', 'c']);
|
||||
const result = getObjectValue({ a: { b: { c: 3 } } });
|
||||
console.log(result); // => 3
|
||||
```
|
||||
```
|
||||
|
@ -1,7 +1,9 @@
|
||||
# set
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Sets the given value at the specified path of the object. If any part of the path does not exist, it will be created.
|
||||
@ -9,7 +11,11 @@ Sets the given value at the specified path of the object. If any part of the pat
|
||||
## Signature
|
||||
|
||||
```typescript
|
||||
function set<T extends object>(obj: T, path: string | number | symbol | Array<string | number | symbol>, value: unknown): T
|
||||
function set<T extends object>(
|
||||
obj: T,
|
||||
path: string | number | symbol | Array<string | number | symbol>,
|
||||
value: unknown
|
||||
): T;
|
||||
```
|
||||
|
||||
### Parameters
|
||||
|
@ -1,7 +1,9 @@
|
||||
# isArguments
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Check if a value is an arguments object.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# isArray
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Checks if the given value is an array.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# isArrayLike
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Check if a value is an array-like object.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# isMatch
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Checks if the target matches the source by comparing their structures and values.
|
||||
@ -41,7 +43,10 @@ isMatch([1, 2, 3], [2, 2]); // false
|
||||
### Matching maps
|
||||
|
||||
```typescript
|
||||
const targetMap = new Map([['key1', 'value1'], ['key2', 'value2']]);
|
||||
const targetMap = new Map([
|
||||
['key1', 'value1'],
|
||||
['key2', 'value2'],
|
||||
]);
|
||||
const sourceMap = new Map([['key1', 'value1']]);
|
||||
isMatch(targetMap, sourceMap); // true
|
||||
```
|
||||
|
@ -1,7 +1,9 @@
|
||||
# isObjectLike
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Check if a value is an object-like.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# matches
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Creates a function that performs a deep comparison between a given target and the source object.
|
||||
@ -22,7 +24,6 @@ function matches(source: unknown): (target: unknown) => boolean;
|
||||
|
||||
- (`(target: unknown) => boolean`): Returns a function that takes a target object and returns `true` if the target matches the source, otherwise `false`.
|
||||
|
||||
|
||||
## Examples
|
||||
|
||||
### Basic usage
|
||||
|
@ -1,7 +1,9 @@
|
||||
# endsWith
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Checks if a string contains another string at the end of the string.
|
||||
@ -29,8 +31,8 @@ function endsWith(str: string, target: string, position: number = 0): string;
|
||||
```typescript
|
||||
import { endsWith } from 'es-toolkit/string';
|
||||
|
||||
endsWith('fooBar', 'foo') // returns false
|
||||
endsWith('fooBar', 'Bar') // returns true
|
||||
endsWith('fooBar', 'abcdef') // returns false
|
||||
endsWith('fooBar', 'foo', 3) // returns true
|
||||
endsWith('fooBar', 'foo'); // returns false
|
||||
endsWith('fooBar', 'Bar'); // returns true
|
||||
endsWith('fooBar', 'abcdef'); // returns false
|
||||
endsWith('fooBar', 'foo', 3); // returns true
|
||||
```
|
||||
|
@ -1,5 +1,11 @@
|
||||
# padStart
|
||||
|
||||
::: info
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Pads the start of a string with a given character until it reaches the specified length.
|
||||
|
||||
If the length is less than or equal to the original string's length, or if the padding character is an empty string,
|
||||
|
@ -1,7 +1,9 @@
|
||||
# startsWith
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
This function is only available in `es-toolkit/compat` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.
|
||||
|
||||
When imported from `es-toolkit/compat`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
|
||||
:::
|
||||
|
||||
Checks if a string contains another string at the beginning of the string.
|
||||
@ -29,8 +31,8 @@ function startsWith(str: string, target: string, position: number = 0): string;
|
||||
```typescript
|
||||
import { startsWith } from 'es-toolkit/string';
|
||||
|
||||
startsWith('fooBar', 'foo') // returns true
|
||||
startsWith('fooBar', 'Bar') // returns false
|
||||
startsWith('fooBar', 'abcdef') // returns false
|
||||
startsWith('fooBar', 'Bar', 3) // returns true
|
||||
startsWith('fooBar', 'foo'); // returns true
|
||||
startsWith('fooBar', 'Bar'); // returns false
|
||||
startsWith('fooBar', 'abcdef'); // returns false
|
||||
startsWith('fooBar', 'Bar', 3); // returns true
|
||||
```
|
||||
|
@ -1,7 +1,10 @@
|
||||
# concat
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
将多个数组和值连接成一个数组。
|
||||
|
@ -1,7 +1,10 @@
|
||||
# max
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
找到数组中具有最大值的元素。
|
||||
|
@ -1,7 +1,9 @@
|
||||
# min
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
:::
|
||||
|
||||
找到数组中具有最小值的元素。
|
||||
|
@ -1,14 +1,15 @@
|
||||
# size
|
||||
|
||||
::: info
|
||||
This function is fully compatible with lodash. You can find it in our [compatibility library](../../../compatibility.md), `es-toolkit/compat`.
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
:::
|
||||
|
||||
返回数组、字符串或对象的大小。
|
||||
|
||||
此函数接收一个数组、字符串或对象并返回其大小。对于数组和字符串,它分别返回元素或字符的数量。对于对象,它返回可枚举属性的数量。
|
||||
|
||||
|
||||
## 签名
|
||||
|
||||
```typescript
|
||||
|
@ -1,7 +1,10 @@
|
||||
# zipObjectDeep
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
给定路径和值的数组,创建一个深层嵌套的对象。
|
||||
|
@ -1,7 +1,10 @@
|
||||
# bind
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
创建一个调用 `func` 的函数,`thisObj` 绑定 `func` 函数中的 `this`,并且 `func` 函数会接收 `partialArgs` 附加参数。
|
||||
|
@ -1,7 +1,10 @@
|
||||
# get
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
从对象中获取给定路径的值。如果解析的值为 `undefined`,则返回 `defaultValue`。
|
||||
@ -11,19 +14,53 @@
|
||||
```typescript
|
||||
function get<T, K extends keyof T>(object: T, path: K | [K]): T[K];
|
||||
function get<T, K extends keyof T>(object: T | null | undefined, path: K | [K]): T[K] | undefined;
|
||||
function get<T, K extends keyof T, D>(object: T | null | undefined, path: K | [K], defaultValue: D): Exclude<T[K], undefined> | D;
|
||||
function get<T, K extends keyof T, D>(
|
||||
object: T | null | undefined,
|
||||
path: K | [K],
|
||||
defaultValue: D
|
||||
): Exclude<T[K], undefined> | D;
|
||||
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1]>(object: T, path: [K1, K2]): T[K1][K2];
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1]>(object: T | null | undefined, path: [K1, K2]): T[K1][K2] | undefined;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], D>(object: T | null | undefined, path: [K1, K2], defaultValue: D): Exclude<T[K1][K2], undefined> | D;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1]>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2]
|
||||
): T[K1][K2] | undefined;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], D>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2],
|
||||
defaultValue: D
|
||||
): Exclude<T[K1][K2], undefined> | D;
|
||||
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(object: T, path: [K1, K2, K3]): T[K1][K2][K3];
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(object: T | null | undefined, path: [K1, K2, K3]): T[K1][K2][K3] | undefined;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], D>(object: T | null | undefined, path: [K1, K2, K3], defaultValue: D): Exclude<T[K1][K2][K3], undefined> | D;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(
|
||||
object: T,
|
||||
path: [K1, K2, K3]
|
||||
): T[K1][K2][K3];
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2, K3]
|
||||
): T[K1][K2][K3] | undefined;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], D>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2, K3],
|
||||
defaultValue: D
|
||||
): Exclude<T[K1][K2][K3], undefined> | D;
|
||||
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(object: T, path: [K1, K2, K3, K4]): T[K1][K2][K3][K4];
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(object: T | null | undefined, path: [K1, K2, K3, K4]): T[K1][K2][K3][K4] | undefined;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3], D>(object: T | null | undefined, path: [K1, K2, K3, K4], defaultValue: D): Exclude<T[K1][K2][K3][K4], undefined> | D;
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(
|
||||
object: T,
|
||||
path: [K1, K2, K3, K4]
|
||||
): T[K1][K2][K3][K4];
|
||||
function get<T, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(
|
||||
object: T | null | undefined,
|
||||
path: [K1, K2, K3, K4]
|
||||
): T[K1][K2][K3][K4] | undefined;
|
||||
function get<
|
||||
T,
|
||||
K1 extends keyof T,
|
||||
K2 extends keyof T[K1],
|
||||
K3 extends keyof T[K1][K2],
|
||||
K4 extends keyof T[K1][K2][K3],
|
||||
D,
|
||||
>(object: T | null | undefined, path: [K1, K2, K3, K4], defaultValue: D): Exclude<T[K1][K2][K3][K4], undefined> | D;
|
||||
|
||||
function get<T>(object: Record<number, T>, path: number): T;
|
||||
function get<T>(object: Record<number, T> | null | undefined, path: number): T | undefined;
|
||||
@ -33,7 +70,11 @@ function get<D>(object: null | undefined, path: PropertyKey, defaultValue: D): D
|
||||
function get(object: null | undefined, path: PropertyKey): undefined;
|
||||
|
||||
function get<T, P extends string>(data: T, path: P): string extends P ? any : Get<T, P>;
|
||||
function get<T, P extends string, D = Get<T, P>>(data: T, path: P, defaultValue: D): Exclude<Get<T, P>, null | undefined> | D;
|
||||
function get<T, P extends string, D = Get<T, P>>(
|
||||
data: T,
|
||||
path: P,
|
||||
defaultValue: D
|
||||
): Exclude<Get<T, P>, null | undefined> | D;
|
||||
|
||||
function get(object: unknown, path: PropertyKey, defaultValue?: unknown): any;
|
||||
function get(object: unknown, path: PropertyKey | readonly PropertyKey[], defaultValue?: unknown): any;
|
||||
@ -41,9 +82,9 @@ function get(object: unknown, path: PropertyKey | readonly PropertyKey[], defaul
|
||||
|
||||
### 参数
|
||||
|
||||
- `obj` (`object`): 要查询的对象。
|
||||
- `path` (`string` 或 `number` 或 `symbol` 或 `Array<string | number | symbol>`): 要获取属性的路径。
|
||||
- `defaultValue` (`unknown`): 如果解析的值为 `undefined`,返回的值。
|
||||
- `obj` (`object`): 要查询的对象。
|
||||
- `path` (`string` 或 `number` 或 `symbol` 或 `Array<string | number | symbol>`): 要获取属性的路径。
|
||||
- `defaultValue` (`unknown`): 如果解析的值为 `undefined`,返回的值。
|
||||
|
||||
### 返回值
|
||||
|
||||
@ -56,12 +97,12 @@ import { get } from 'es-toolkit/compat';
|
||||
|
||||
const obj = {
|
||||
a: {
|
||||
b: 4
|
||||
}
|
||||
b: 4,
|
||||
},
|
||||
};
|
||||
|
||||
get(obj, 'a.b'); // 4
|
||||
get(obj, ['a', 'b']); // 4
|
||||
get(obj, ['a', 'c']); // undefined
|
||||
get(obj, ['a', 'c'], null); // null
|
||||
```
|
||||
```
|
||||
|
@ -1,7 +1,10 @@
|
||||
# property
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
`property` 函数创建一个新函数,用于从对象中获取指定路径的值。它利用 [`get`](./get.md) 函数来获取值。
|
||||
@ -9,7 +12,7 @@
|
||||
## 签名
|
||||
|
||||
```typescript
|
||||
function property(path: PropertyKey | readonly PropertyKey[]): (object: unknown) => any
|
||||
function property(path: PropertyKey | readonly PropertyKey[]): (object: unknown) => any;
|
||||
```
|
||||
|
||||
### 参数
|
||||
@ -32,4 +35,4 @@ console.log(result); // => 3
|
||||
const getObjectValue = property(['a', 'b', 'c']);
|
||||
const result = getObjectValue({ a: { b: { c: 3 } } });
|
||||
console.log(result); // => 3
|
||||
```
|
||||
```
|
||||
|
@ -1,7 +1,10 @@
|
||||
# set
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
在对象的指定路径设置给定值。如果路径的任何部分不存在,将会创建它。
|
||||
@ -9,7 +12,11 @@
|
||||
## 签名
|
||||
|
||||
```typescript
|
||||
function set<T extends object>(obj: T, path: string | number | symbol | Array<string | number | symbol>, value: unknown): T
|
||||
function set<T extends object>(
|
||||
obj: T,
|
||||
path: string | number | symbol | Array<string | number | symbol>,
|
||||
value: unknown
|
||||
): T;
|
||||
```
|
||||
|
||||
### 参数
|
||||
|
@ -1,7 +1,10 @@
|
||||
# isArguments
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
检查一个值是否是 `arguments` 对象。
|
||||
|
@ -1,7 +1,10 @@
|
||||
# isArray
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
检查给定的值是否为数组。
|
||||
|
@ -1,7 +1,10 @@
|
||||
# isArrayLike
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
检查一个值是否是类似数组的对象。
|
||||
|
@ -1,7 +1,10 @@
|
||||
# isMatch
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
检查目标是否与源匹配,方法是比较它们的结构和值。
|
||||
@ -41,7 +44,10 @@ isMatch([1, 2, 3], [2, 2]); // false
|
||||
### 匹配映射
|
||||
|
||||
```typescript
|
||||
const targetMap = new Map([['key1', 'value1'], ['key2', 'value2']]);
|
||||
const targetMap = new Map([
|
||||
['key1', 'value1'],
|
||||
['key2', 'value2'],
|
||||
]);
|
||||
const sourceMap = new Map([['key1', 'value1']]);
|
||||
isMatch(targetMap, sourceMap); // true
|
||||
```
|
||||
|
@ -1,7 +1,10 @@
|
||||
# isObjectLike
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
检查一个值是否类似对象。
|
||||
|
@ -1,7 +1,10 @@
|
||||
# matches
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
创建一个函数来对给定的目标对象和源对象进行深度比较。
|
||||
|
@ -1,7 +1,10 @@
|
||||
# endsWith
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
检查字符串是否在其末尾包含另一个字符串。
|
||||
@ -29,8 +32,8 @@ function endsWith(str: string, target: string, position: number = 0): string;
|
||||
```typescript
|
||||
import { endsWith } from 'es-toolkit/compat';
|
||||
|
||||
endsWith('fooBar', 'foo') // 返回 true
|
||||
endsWith('fooBar', 'Bar') // 返回 false
|
||||
endsWith('fooBar', 'abcdef') // 返回 false
|
||||
endsWith('fooBar', 'Bar', 3) // 返回 true
|
||||
endsWith('fooBar', 'foo'); // 返回 true
|
||||
endsWith('fooBar', 'Bar'); // 返回 false
|
||||
endsWith('fooBar', 'abcdef'); // 返回 false
|
||||
endsWith('fooBar', 'Bar', 3); // 返回 true
|
||||
```
|
||||
|
@ -1,5 +1,12 @@
|
||||
# padStart
|
||||
|
||||
::: info
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
在字符串的开头使用给定的字符进行填充,直到它达到指定的长度。
|
||||
|
||||
如果指定的长度小于或等于原字符串的长度,或者填充字符为空字符串,则返回原字符串不变。
|
||||
@ -26,3 +33,4 @@ function padStart(str: string, length = 0, chars = ' '): string;
|
||||
padStart('hello', 10, 'a'); // 'aaaaahello'
|
||||
padStart('hello', 3, 'a'); // 'hello'
|
||||
padStart('hello', 5, ''); // 'hello'
|
||||
```
|
||||
|
@ -1,7 +1,10 @@
|
||||
# startsWith
|
||||
|
||||
::: info
|
||||
此函数与 lodash 完全兼容。您可以在我们的[兼容性库](../../../compatibility.md)中找到它,`es-toolkit/compat`。
|
||||
出于兼容性原因,此函数仅在 `es-toolkit/compat` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。
|
||||
|
||||
从 `es-toolkit/compat` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
|
||||
|
||||
:::
|
||||
|
||||
检查字符串是否在其开头包含另一个字符串。
|
||||
@ -29,8 +32,8 @@ function startsWith(str: string, target: string, position: number = 0): string;
|
||||
```typescript
|
||||
import { startsWith } from 'es-toolkit/compat';
|
||||
|
||||
startsWith('fooBar', 'foo') // 返回 true
|
||||
startsWith('fooBar', 'Bar') // 返回 false
|
||||
startsWith('fooBar', 'abcdef') // 返回 false
|
||||
startsWith('fooBar', 'Bar', 3) // 返回 true
|
||||
startsWith('fooBar', 'foo'); // 返回 true
|
||||
startsWith('fooBar', 'Bar'); // 返回 false
|
||||
startsWith('fooBar', 'abcdef'); // 返回 false
|
||||
startsWith('fooBar', 'Bar', 3); // 返回 true
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user