Einführung
In diesem Lab werden wir untersuchen, wie man in JavaScript Elemente in einem Array von Arrays aufspaltet. Wir werden eine Kombination von eingebauten JavaScript-Funktionen wie reduce, map und forEach verwenden, um einzelne Arrays aus einem einzelnen Array von Arrays zu extrahieren. Am Ende dieses Labs werden Sie eine solide Vorstellung davon haben, wie man in JavaScript Arrays manipulieren kann, um das gewünschte Ergebnis zu erzielen.
Wie man in JavaScript Arrayelemente aufspaltet
Um die Elemente in einem Array, das von der zip-Funktion erzeugt wurde, aufzuspalten, kann man ein Array von Arrays mit der unzip-Funktion in JavaScript erstellen. Hier ist wie:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Verwenden Sie
Math.max(),Function.prototype.apply(), um das längste Unterarray im Array zu erhalten, undArray.prototype.map(), um jedes Element zu einem Array zu machen. - Verwenden Sie
Array.prototype.reduce()undArray.prototype.forEach(), um gruppierte Werte auf einzelne Arrays zuzuordnen.
Hier ist der Code für die unzip-Funktion:
const unzip = (arr) =>
arr.reduce(
(acc, val) => (val.forEach((v, i) => acc[i].push(v)), acc),
Array.from({
length: Math.max(...arr.map((x) => x.length))
}).map((x) => [])
);
Sie können die unzip-Funktion mit den folgenden Beispielen verwenden:
unzip([
["a", 1, true],
["b", 2, false]
]); // [['a', 'b'], [1, 2], [true, false]]
unzip([
["a", 1, true],
["b", 2]
]); // [['a', 'b'], [1, 2], [true]]
Indem Sie diese Schritte befolgen, können Sie in JavaScript leicht Arrayelemente aufspalten.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Arrayelemente aufspalten" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.