ホームページ >ウェブフロントエンド >jsチュートリアル >Python の Zip 関数を JavaScript で複製するにはどうすればよいですか?
Python の Zip 関数に相当する JavaScript
Python の zip 関数は、さまざまなアプローチを使用して JavaScript で複製できます。 2 つの一般的な方法を見てみましょう:
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, [...]) を使用します。
以上がPython の Zip 関数を JavaScript で複製するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。