CoffeeScript 类似 Python 的 zip 函数

类似 Python 的 zip 函数

问题

你想把多个数组连在一起,生成一个数组的数组。换句话说,你需要实现与Python中的zip函数类似的功能。Python的zip函数返回的是元组的数组,其中每个元组中包含着作为参数的数组中的第i个元素。

解决方案

使用下面的CoffeeScript代码:

# Usage: zip(arr1, arr2, arr3, ...)
zip = () ->
  lengthArray = (arr.length for arr in arguments)
  length = Math.max.apply(Math, lengthArray)
  argumentLength = arguments.length
  results = []
  for i in [0...length]
    semiResult = []
    for arr in arguments
      semiResult.push arr[i]
    results.push semiResult
  return results

zip([0, 1, 2, 3], [0, -1, -2, -3])
# => [[0, 0], [1, -1], [2, -2], [3, -3]]

作者:冒牌SEO,如若转载,请注明出处:https://www.web176.com/coffeescript/10662.html

(0)
打赏 支付宝 支付宝 微信 微信
冒牌SEO冒牌SEO
上一篇 2023年2月26日
下一篇 2023年2月26日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注