Python zip 函數的Javascript 等效項
在Python 中,zip 函數將多個可迭代物件組合成單一可迭代元元組,其中每個元組包含輸入迭代中的對應元素。 Javascript 是否有類似的函數?
Javascript 實作
是的,Javascript 中有一個等效的 zip 函數。它接受一個數組的數組作為其參數並傳回一個數組的數組,其中每個內部數組都包含輸入數組中的相應元素。例如,如果您有三個陣列:
const array1 = [1, 2, 3]; const array2 = ['a', 'b', 'c']; const array3 = [4, 5, 6];
以下程式碼將建立一個對陣列:
const outputArray = array1.map((_, i) => [array1[i], array2[i], array3[i]]);
輸出陣列將為:
[[1, 'a', 4], [2, 'b', 5], [3, 'c', 6]]
ES6 版本
在ES6中,你可以使用以下內容語法:
const zip = (...rows) => rows[0].map((_, c) => rows.map(row => row[c]));
附加功能
Javascript zip 函數可以修改為模仿 Python zip 函數及其擴充的行為。例如,您可以建立以下函數:
附錄:處理Iterables
要處理iterables,您可以定義一個iterView 函數,將iterable 轉換為等效的陣列。或者,您可以使用以下功能:
const zip = arrays => Array.apply(null, Array(arrays[0].length)).map((_, i) => arrays.map(array => array[i]));
以上是JavaScript 中是否存在與 Python 的 zip 函數等效的函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!