首页 > web前端 > js教程 > 如何在 JavaScript 中复制 Python 的 Zip 函数?

如何在 JavaScript 中复制 Python 的 Zip 函数?

Mary-Kate Olsen
发布: 2024-12-28 18:58:10
原创
557 人浏览过

How Can I Replicate Python's Zip Function in JavaScript?

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

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