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中文网其他相关文章!