Python の Zip 関数と同等の JavaScript
Python の zip 関数は、複数の反復可能オブジェクトを 1 つのタプルのリストに結合します。各タプルには、入力イテラブルからの対応する要素が含まれています。
JavaScript には、言語に組み込まれた同等の関数はありません。ただし、カスタム関数を作成して同じ機能を実現できます。以下にいくつかのオプションがあります:
1. Array.map() メソッド:
function zip(arrays) { return arrays[0].map((_, i) => { return arrays.map(array => array[i]); }); }
この関数は、map メソッドを使用して最初の配列の要素を反復処理します。要素ごとに、入力配列をマッピングし、同じインデックスで対応する要素を取得することにより、新しい配列を作成します。
2. ES6 スプレッド演算子:
const zip = (...rows) => rows[0].map((_, c) => rows.map(row => row[c]));
この関数は、スプレッド演算子を使用して個々の行の配列を作成します。次に、map メソッドを使用して最初の行を反復処理し、同じインデックスにある対応する要素に行をマップします。
3.可変引数リスト:
function zip() { const args = [].slice.call(arguments); const shortest = args.length ? args.reduce((a, b) => (a.length < b.length ? a : b)) : []; return shortest.map((_, i) => { return args.map(array => array[i]); }); }
この関数は、可変数の引数を入力として受け取ります。最も短い配列を特定し、その要素を反復処理して、入力配列を同じインデックスの対応する要素にマッピングします。
これらの関数は、さまざまなレベルの柔軟性を提供し、プロジェクトの特定の要件に応じて使用できます。
以上がPython の Zip 関数を JavaScript で実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。