Array.prototype.map()
and Array.prototype.join(delimiter)
to combine individual 1D arrays (rows) into strings.Array.prototype.join('\n')
to combine all rows into a CSV string, separating each row with a newline.delimiter
, to use a default delimiter of ,
.const arrayToCSV = (arr, delimiter = ',') =>
arr
.map(v =>
v.map(x => (isNaN(x) ? `"${x.replace(/"/g, '""')}"` : x)).join(delimiter)
)
.join('\n');
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'
Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️