mirror of
https://github.com/toss/es-toolkit.git
synced 2024-11-28 03:34:26 +03:00
40 lines
1.1 KiB
Markdown
40 lines
1.1 KiB
Markdown
|
# zip
|
||
|
|
||
|
Combines multiple arrays into a single array of tuples.
|
||
|
|
||
|
This function takes multiple arrays and returns a new array where each element is a tuple
|
||
|
containing the corresponding elements from the input arrays. If the input arrays are of
|
||
|
different lengths, the resulting array will have the length of the longest input array,
|
||
|
with `undefined` values for missing elements.
|
||
|
|
||
|
## Signature
|
||
|
|
||
|
```typescript
|
||
|
function zip<T>(arr1: T[]): [T][];
|
||
|
function zip<T, U>(arr1: T[], arr2: U[]): [T, U][];
|
||
|
function zip<T, U, V>(arr1: T[], arr2: U[], arr3: V[]): [T, U, V][];
|
||
|
function zip<T, U, V, W>(arr1: T[], arr2: U[], arr3: V[], arr4: W[]): [T, U, V, W][];
|
||
|
function zip<T>(...arrs: T[][]): T[][];
|
||
|
```
|
||
|
|
||
|
### Parameters
|
||
|
|
||
|
- `...arrs` (`T[][]`): The arrays to zip together.
|
||
|
|
||
|
### Returns
|
||
|
|
||
|
(`T[][]`): A new array of tuples containing the corresponding elements from the input arrays.
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
```typescript
|
||
|
const arr1 = [1, 2, 3];
|
||
|
const arr2 = ['a', 'b', 'c'];
|
||
|
const result = zip(arr1, arr2);
|
||
|
// result will be [[1, 'a'], [2, 'b'], [3, 'c']]
|
||
|
|
||
|
const arr3 = [true, false];
|
||
|
const result2 = zip(arr1, arr2, arr3);
|
||
|
// result2 will be [[1, 'a', true], [2, 'b', false], [3, 'c', undefined]]
|
||
|
```
|