Converts a comma-separated values (CSV) string to a 2D array.
Array.prototype.indexOf()
to find the first newline character (\n
).Array.prototype.slice()
to remove the first row (title row) if omitFirstRow
is true
.String.prototype.split()
to create a string for each row.String.prototype.split()
to separate the values in each row, using the provided delimiter
.delimiter
, to use a default delimiter of ','
.omitFirstRow
, to include the first row (title row) of the CSV string.const CSVToArray = (data, delimiter = ',', omitFirstRow = false) =>
data
.slice(omitFirstRow ? data.indexOf('\n') + 1 : 0)
.split('\n')
.map(v => v.split(delimiter));
CSVToArray('a,b\nc,d'); // [['a', 'b'], ['c', 'd']];
CSVToArray('a;b\nc;d', ';'); // [['a', 'b'], ['c', 'd']];
CSVToArray('col1,col2\na,b\nc,d', ',', true); // [['a', 'b'], ['c', 'd']];
JavaScript, String
Converts a comma-separated values (CSV) string to a 2D array of objects. The first row of the string is used as the title row.
JavaScript, Array
Converts a 2D array to a comma-separated values (CSV) string.
JavaScript, Array
Converts an array of objects to a comma-separated values (CSV) string that contains only the columns
specified.