Einführung
In diesem Lab werden wir untersuchen, wie man JavaScript verwendet, um eine zweidimensionale Array in einen durch Kommas getrennten Wert (CSV)-String umzuwandeln. Das Lab führt Sie durch den Prozess der Verwendung von Array.prototype.map() und Array.prototype.join() zum Erstellen eines CSV-Strings aus einem zweidimensionalen Array. Am Ende des Labs werden Sie eine solide Vorstellung davon haben, wie man Arrays in CSV-Strings mit JavaScript umwandelt.
Zwei-dimensionales Array in CSV umwandeln
Um ein zweidimensionales Array in einen durch Kommas getrennten Wert (CSV)-String umzuwandeln, führen Sie die folgenden Schritte aus:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Verwenden Sie
Array.prototype.map()undArray.prototype.join(), um einzelne eindimensionale Arrays (Zeilen) zu Strings zusammenzufügen, wobei der bereitgestelltedelimiterverwendet wird. - Verwenden Sie
Array.prototype.join(), um alle Zeilen zu einem CSV-String zusammenzufügen, wobei jede Zeile durch eine neue Zeile (\n) getrennt wird. - Wenn Sie den Standardtrennzeichen
,verwenden möchten, können Sie das zweite Argumentdelimiterweglassen.
Hier ist ein Beispiel für den Code:
const arrayToCSV = (arr, delimiter = ",") =>
arr
.map((v) =>
v
.map((x) => (isNaN(x) ? `"${x.replace(/"/g, '""')}"` : x))
.join(delimiter)
)
.join("\n");
Sie können die Funktion testen, indem Sie die folgenden Codezeilen ausführen:
arrayToCSV([
["a", "b"],
["c", "d"]
]); // '"a","b"\n"c","d"'
arrayToCSV(
[
["a", "b"],
["c", "d"]
],
";"
); // '"a";"b"\n"c";"d"'
arrayToCSV([
["a", '"b" great'],
["c", 3.1415]
]);
// '"a","""b"" great"\n"c",3.1415'
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Array in CSV-Lab abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.