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:
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.
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
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics