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]]