Arrays in JavaScript zippen
-
Verwenden Sie die
map
-Methode zum Zippen von Arrays in JavaScript -
Verwenden Sie die Methode
Array.from
zum Zippen von Arrays in JavaScript
In JavaScript gibt es Situationen, in denen wir zwei Arrays komprimieren möchten. In diesem Tutorial untersuchen wir das Flashen von zwei Sammlungen mit JavaScript.
Das JavaScript-Gegenstück der Python-Funktion zip
muss geschrieben werden. Mit anderen Worten, wir müssen ein Array von Paaren erstellen, wenn viele Sammlungen gleicher Länge gegeben sind.
Es gibt verschiedene Möglichkeiten, wie wir zwei Arrays in JavaScript komprimieren können, z. B. die Verwendung der Methode map()
, der Methode Array.from()
und der Methode Array.prototype.fill()
.
Verwenden Sie die map
-Methode zum Zippen von Arrays in JavaScript
Die Funktion map()
in JavaScript komprimiert zwei Arrays einer bestimmten Länge. Es ergibt jedoch undefined
, wenn die Länge beider Arrays nicht übereinstimmt.
let a = [9, 8, 7];
let b = ['1', '2', '3'];
let zip = a.map(function(e, i) {
return [e, b[i]];
});
console.log(zip);
Die Rückruffunktion, die die Methode map()
akzeptiert, ruft die Elemente des Arrays a
und die Elemente des Arrays b
auf, die der Sammlung a
zugeordnet sind. Es ist auch einfach zu lernen, wie man auf diese Weise einen Reißverschluss herstellt.
Ausgabe:
[[9, "1"], [8, "2"], [7, "3"]]
Stellen Sie bei der Verwendung der map
-Methode sicher, dass die Länge beider Arrays gleich sein muss; Andernfalls erhalten Sie das Ergebnis undefined
.
let a = [9, 8, 7, 6];
let b = ['1', '2', '3'];
let zip = a.map(function(e, i) {
return [e, b[i]];
});
console.log(zip);
Sie können sehen, dass die Längen der Arrays a
und b
unterschiedlich sind.
Ausgabe:
[[9, "1"], [8, "2"], [7, "3"], [6, undefined]]
Verwenden Sie die Methode Array.from
zum Zippen von Arrays in JavaScript
let a = [9, 8, 7, 6];
let b = ['90', '80', '70', '60'];
let zip = (a, b) =>
Array.from(Array(Math.max(a.length, b.length)), (_, i) => [a[i], b[i]]);
console.log(zip(a, b));
In der Instanz der Methode Array.from
sind zwei Arrays vorhanden; Sie werden an eine Pfeilfunktion gesendet. Nach dem Anpassen der Länge ordnet der Prozess die Elemente aus zwei separaten Arrays zu.
Ausgabe:
[[9, "90"], [8, "80"], [7, "70"], [6, "60"]]
Darüber hinaus gibt die entsprechende Karte undefined
für jedes fehlende Element aus.
let a = [9, 8, 7];
let b = ['90', '80', '70', '60'];
let zip = (a, b) =>
Array.from(Array(Math.max(a.length, b.length)), (_, i) => [a[i], b[i]]);
console.log(zip(a, b));
Ausgabe:
[[9, "90"], [8, "80"], [7, "70"], [undefined, "60"]]
Die Methode Array.prototype.fill()
funktioniert genauso wie die Methode Array.from()
.
let a = [7, 8, 9];
let b = ['70', '80', '90'];
let zip = (a, b) =>
Array(Math.max(a.length, b.length)).fill().map((_, i) => [a[i], b[i]]);
console.log(zip(a, b));
Ausgabe:
[[7, "70"], [8, "80"], [9, "90"]]
Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.
LinkedInVerwandter Artikel - JavaScript Array
- Überprüfen Sie, ob das Array einen Wert in JavaScript enthält
- Array mit bestimmter Länge in JavaScript erstellen
- Konvertieren ein Array in einen String in JavaScript
- Erstes Element aus einem Array in JavaScript entfernen
- Objekte aus einem Array in JavaScript suchen
- Konvertieren von Argumenten in ein Array in JavaScript