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