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