Javascript-Äquivalente der Zip-Funktion von Python
Die Zip-Funktion von Python kann mithilfe verschiedener Ansätze in JavaScript repliziert werden. Lassen Sie uns zwei gängige Methoden untersuchen:
1. Array-Zuordnung
Diese Methode geht davon aus, dass die Eingabe-Arrays gleich lang sind und beinhaltet die Zuordnung des ersten Arrays, um Paare mit entsprechenden Elementen aus den anderen Arrays zu erstellen.
function zip(...arrays) { return arrays[0].map((_, i) => arrays.map((array) => array[i])); }
Beispiel:
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 und Array Mapping
Diese Methode verarbeitet sowohl Arrays gleicher als auch ungleicher Länge und gibt für fehlende Werte undefiniert zurück.
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]) ); }
Beispiel:
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]]
Hinweis: Wenn Sie eine der oben genannten Methoden mit Arrays ungleicher Länge verwenden, denken Sie daran Sie sind nicht ihr eigenes Gegenteil. Um Pythons zip(*[...])-Idiom nachzuahmen, verwenden Sie zip.apply(this, [...]).
Das obige ist der detaillierte Inhalt vonWie kann ich die Zip-Funktion von Python in JavaScript replizieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!