你想把多個(gè)數(shù)組連在一起,生成一個(gè)數(shù)組的數(shù)組。換句話說,你需要實(shí)現(xiàn)與 Python 中的 zip 函數(shù)類似的功能。 Python 的 zip 函數(shù)返回的是元組的數(shù)組,其中每個(gè)元組中包含著作為參數(shù)的數(shù)組中的第 i 個(gè)元素。
使用下面的 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]]