zip
优质
小牛编辑
128浏览
2023-12-01
Creates a new sequence by combining the elements from this sequence with corresponding elements from the specified array(s).
Signature
Sequence.zip = function(var_args) { /*...*/ }
Sequence.zip = function zip(var_args) { if (arguments.length === 1) { return new SimpleZippedSequence(this, (/** @type {Array} */ var_args)); } else { return new ZippedSequence(this, arraySlice.call(arguments, 0)); } }
Name | Type(s) | Description |
---|---|---|
var_args | ...Array | One or more arrays of elements to combine with those of this sequence. |
returns | Sequence | The new sequence. |
Examples
Lazy([1, 2]).zip([3, 4]) // sequence: [[1, 3], [2, 4]] Lazy([]).zip([0]) // sequence: [[undefined, 0]] Lazy([0]).zip([]) // sequence: [[0, undefined]] Lazy([]).zip([1, 2], [3, 4]) // sequence: [[undefined, 1, 3], [undefined, 2, 4]] Lazy([]).zip([1], [2, 3]) // sequence: [[undefined, 1, 2], [undefined, undefined, 3]] Lazy([1, 2]).zip([3], [4]) // sequence: [[1, 3, 4], [2, undefined, undefined]]
Benchmarks
var smArrL = Lazy.range(10).toArray(), smArrR = Lazy.range(10, 20).toArray(), lgArrL = Lazy.range(100).toArray(), lgArrR = Lazy.range(100, 200).toArray(); Lazy(smArrL).zip(smArrR).each(Lazy.noop) // lazy - zipping 10-element arrays Lazy(lgArrL).zip(lgArrR).each(Lazy.noop) // lazy - zipping 100-element arrays _.each(_.zip(smArrL, smArrR), _.noop) // lodash - zipping 10-element arrays _.each(_.zip(lgArrL, lgArrR), _.noop) // lodash - zipping 100-element arrays
Implementation | zipping 10-element arrays | zipping 100-element arrays |
---|---|---|
lazy | ||
lodash |