Skip to content

zip() function

각 배열의 값을 해당 위치의 값과 함께 병합합니다. 일치하는 배열 인덱스를 통해 조정되는 별도의 데이터 소스가 있을 때 유용합니다.

Signature:

typescript
declare function zip<
  T extends UniversalIterable,
  TS extends UniversalIterable[],
>(a: T): (...args: TS) => ReturnZipType<[T, ...TS]>;

Example

ts
const iter = zip([1, 2, 3, 4], [5, 6, 7, 8]);
iter.next(); // {done:false, value: [1, 5]}
iter.next(); // {done:false, value: [2, 6]}
iter.next(); // {done:false, value: [3, 7]}
iter.next(); // {done:false, value: [4, 8]}
iter.next(); // {done:true, value: undefined}

// with pipe
pipe([5, 6, 7, 8], zip([1, 2, 3, 4]), toArray); // [[1, 5], [2, 6], [3, 7], [4, 8]]

await pipe(Promise.resolve([5, 6, 7, 8]), zip([1, 2, 3, 4]), toArray); // [[1, 5], [2, 6], [3, 7], [4, 8]]

// with toAsync
await pipe(
  [
    Promise.resolve(5),
    Promise.resolve(6),
    Promise.resolve(7),
    Promise.resolve(8),
  ],
  toAsync,
  zip([1, 2, 3, 4]),
  toArray,
); // [[1, 5], [2, 6], [3, 7], [4, 8]]

Try It

see pipe, toAsync, toArray

Open Source Code

Released under the Apache-2.0 License.