ホームページ >バックエンド開発 >Python チュートリアル >Python の zip 関数に相当する JavaScript はありますか?

Python の zip 関数に相当する JavaScript はありますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-13 19:43:14271ブラウズ

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

Python の zip 関数と同等の Javascript

Python では、zip 関数は複数の反復可能要素を 1 つのタプルの反復可能要素に結合します。各タプルには次の内容が含まれます。入力反復可能オブジェクトからの対応する要素。 Javascript で使用できる同様の関数はありますか?

Javascript の実装

はい、JavaScript には同等の zip 関数があります。これは、配列の配列を引数として受け取り、配列の配列を返します。各内部配列には、入力配列からの対応する要素が含まれます。たとえば、3 つの配列がある場合:

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 関数とその拡張機能の動作を模倣するように変更できます。たとえば、次のような関数を作成できます。

  • 長さが等しくない配列を想定し、長い配列を黙って無視します。
  • 配列内の欠落要素に未定義の値を挿入します。
  • 文字列や文字列などの反復可能オブジェクトを処理します。

付録: イテラブルの処理

イテラブルを処理するには、イテラブルを同等の配列に変換する iterView 関数を定義できます。あるいは、次の関数を使用することもできます:

const zip = arrays => Array.apply(null, Array(arrays[0].length)).map((_, i) => arrays.map(array => array[i]));

以上がPython の zip 関数に相当する JavaScript はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。