w3resource

JavaScript: Convert a 2D array to a comma-separated values (CSV) string

JavaScript fundamental (ES6 Syntax): Exercise-257 with Solution

Write a JavaScript program to convert a 2D array to a comma-separated value (CSV) string.

  • Use Array.prototype.map() and Array.prototype.join(delimiter) to combine individual 1D arrays (rows) into strings.
  • Use Array.prototype.join('\n') to combine all rows into a CSV string, separating each row with a newline.
  • Omit the second argument, delimiter, to use a default delimiter of ,.

Sample Solution:

JavaScript Code:

//#Source https://bit.ly/2neWfJ2 
// Define a function 'arrayToCSV' to convert a 2D array into a CSV string with a specified delimiter
const arrayToCSV = (arr, delimiter = ',') =>
  // Map each row of the array, converting each value into a string enclosed in double quotes and joined by the specified delimiter
  arr.map(v => v.map(x => `"${x}"`).join(delimiter)).join('\n');

// Test the 'arrayToCSV' function with a 2D array and default and custom delimiters
console.log(arrayToCSV([['a', 'b'], ['c', 'd']])); // "a","b"\n"c","d" (CSV string with default delimiter ',')
console.log(arrayToCSV([['a', 'b'], ['c', 'd']], ';')); // "a";"b"\n"c";"d" (CSV string with custom delimiter ';')

Output:

"a","b"
"c","d"
"a";"b"
"c";"d"

Flowchart:

flowchart: Convert a 2D array to a comma-separated values (CSV) string.

Live Demo:

See the Pen javascript-basic-exercise-257-1 by w3resource (@w3resource) on CodePen.


Improve this sample solution and post your code through Disqus

Previous: Write a JavaScript program to check if two given numbers are approximately equal to each other.
Next: Write a JavaScript program to create a function that accepts up to n arguments, ignoring any additional arguments.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/javascript-exercises/fundamental/javascript-fundamental-exercise-257.php