@iterables/zip
v1.0.2
Published
combine iterables into a list of tuples
Downloads
2,717
Readme
@iterables/zip
Combine iterables into a list of tuples, where the Nth tuple is comprised of the Nth element from each iterable.
const zip = require('@iterables/zip')
const iter = zip('abc', [1, 2, 3], 'xyz')
console.log(Array.from(iter)) // [['a', 1, 'x'], ['b', 2, 'y'], ['c', 3, 'z']]
const map = new Map()
map.set('a', 3)
map.set('b', 0)
console.log(...zip(...map)) // ['a', 'b'] [3, 0]
console.log(...zip.longest(9999)([1,2], [1,2,3])) // [1, 1] [2, 2] [9999, 3]
Installation
$ npm install --save @iterables/zip
API
zip(...iterables) -> Iterator<Array<T>>
iterables
: anyIterator
— a generator instance,Array
,Map
,String
, orSet
Returns a zipped iterator. If iterables
are of different lengths, the resulting
iterator will be the same length as the shortest iterable.
zip.longest(fill) -> Generator
fill
: a value to fill
Returns a zipped iterator. If iterables
are of different lengths, the resulting
iterator will be the same length as the longest iterable. Missing values from
the shorter iterables will be replaced with fill
.
License
MIT