Skip to content

Latest commit

 

History

History
34 lines (29 loc) · 1.53 KB

CSVToArray.md

File metadata and controls

34 lines (29 loc) · 1.53 KB
title tags author_title author_url author_image_url description image
CSVToArray
string,array,intermediate
Deepak Vishwakarma
Implementation of "CSVToArray" in typescript, javascript and deno.

TS JS Deno

Converts a comma-separated values (CSV) string to a 2D array.

Use Array.prototype.slice() and Array.prototype.indexOf('\n') to remove the first row (title row) if omitFirstRow is true. Use String.prototype.split('\n') to create a string for each row, then String.prototype.split(delimiter) to separate the values in each row. Omit the second argument, delimiter, to use a default delimiter of ,. Omit the third argument, omitFirstRow, to include the first row (title row) of the CSV string.

const CSVToArray = (data: string, 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']];