首页 > 后端开发 > Python教程 > JavaScript 中是否存在与 Python 的 zip 函数等效的函数?

JavaScript 中是否存在与 Python 的 zip 函数等效的函数?

Mary-Kate Olsen
发布: 2024-12-13 19:43:14
原创
334 人浏览过

Is There a JavaScript Equivalent to Python's zip Function?

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 函数及其扩展的行为。例如,您可以创建以下函数:

  • 假设数组长度不等,并默默地忽略较长的数组。
  • 为数组中缺失的元素插入未定义的值。
  • 处理可迭代对象,例如字符串和Ranges.

附录:处理 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板