返回介绍

zip

发布于 2019-05-31 13:13:03 字数 2276 浏览 960 评论 0 收藏 0

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));
  }
}
NameType(s)Description
var_args...Array

One or more arrays of elements to combine with those of this sequence.

returnsSequence

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
Implementationzipping 10-element arrayszipping 100-element arrays
lazy
lodash

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文