Python Zip 函數的 Javascript 等價項
可以使用各種方法在 JavaScript 中複製 Python 的 zip 函數。讓我們探討兩種常見的方法:
1.數組映射
此方法假設輸入數組長度相等,並涉及映射第一個數組以與其他數組中的相應元素創建對。
function zip(...arrays) { return arrays[0].map((_, i) => arrays.map((array) => array[i])); }
範例:
const array1 = [1, 2, 3]; const array2 = ['a', 'b', 'c']; const array3 = [4, 5, 6]; const zippedArray = zip(array1, array2, array3); console.log(zippedArray); // [[1, 'a', 4], [2, 'b', 5], [3, 'c', 6]]
2。 Array.apply 和陣列映射
此方法可以處理等長和不等長的數組,對於缺失值返回未定義。
function zip(...arrays) { const longest = arrays.reduce((a, b) => (a.length > b.length ? a : b), []); return Array.apply(null, Array(longest.length)).map((_, i) => arrays.map((array) => array[i]) ); }
範例:
const array1 = [1, 2, 3]; const array2 = ['a', 'b']; const array3 = [4, 5, 6]; const zippedArray = zip(array1, array2, array3); console.log(zippedArray); // [[1, 'a', 4], [2, 'b', 5], [3, undefined, 6]]
注意:如果您將上述任何方法與陣列一起使用長度不等,請記住它們不是它們自己的倒數。要模仿 Python 的 zip(*[...]) 習慣用法,請使用 zip.apply(this, [...]).
以上是如何在 JavaScript 中複製 Python 的 Zip 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!