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

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

Mary-Kate Olsen
リリース: 2024-12-13 19:43:14
オリジナル
270 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート