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