CoffeeScript 類似 Python 的 zip 函數(shù)

2022-06-29 16:57 更新

類似 Python 的 zip 函數(shù)

問題

你想把多個數(shù)組連在一起,生成一個數(shù)組的數(shù)組。換句話說,你需要實現(xiàn)與Python中的zip函數(shù)類似的功能。Python的zip函數(shù)返回的是元組的數(shù)組,其中每個元組中包含著作為參數(shù)的數(shù)組中的第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]]
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號