How to convert a 2D array to a comma-separated values (CSV) string in JavaScript ?

Given a 2D array, we have to convert it to a comma-separated values (CSV) string using JS.
Input: [ [ "a" , "b"] , [ "c" ,"d" ] ] Output: "a,b c,d" Input: [ [ "1", "2"] ["3", "4"] ["5", "6"] ] Output: "1,2 3,4 5,6"
To achieve this, we must know some array prototype functions which will be helpful in this regard:
Join function: The Array.prototype.join( ) function is used to join all the strings in an array with a character/string.
Example:
[ "a","b"].join( ",") will result in : "a,b"
Map function: The Array.prototype.map() returns a new array with the results of calling a function that we provide, on each element.
Example:
arr= ["a","b"] // Adding "c" to each element newArray = arr.map( item => item + "c") value of newArray = ["ac", "bc"]
Approach: We will use the map function and join function to combine each 1D row into a string with the separation of a comma. and then join all the individual strings with “\n”, using the join function.
Example: In this example, we will be using the map() and join() functions to convert the CSV values to strings.
Javascript
| <script>    // Create CSV file data in an array      vararray2D = [                     [ "a", "2"] ,                    [ "c","d"]                   ];        // Use map function to traverse on each row    varcsv = array2D      .map((item) => {              // Here item refers to a row in that 2D array        varrow = item;                // Now join the elements of row with "," using join function        returnrow.join(",");      }) // At this point we have an array of strings      .join("\n");            // Join the array of strings with "\n"    console.log(csv);</script> | 
Output:
a,2 c,d
Explanation: We first used the map function on the 2D array to traverse each row, then we used the join function to join the array of elements in that row using a comma. Next, that map function returns an array of strings, which we join by using “\n”. Thus resulting in a CSV string.
Alternative Approach: We can even use for loops to traverse in the array, instead of a map.
Example: In this example, we will be using the javascript loops to convert the CSV to strings.
Javascript
| <script>    varcsv="";    //create CSV file data in an array      vararray2D = [                     [ "a", "2"] ,                    [ "c","d"]                   ];        for(varindex1 inarray2D) {      varrow = array2D[index1];            // Row is the row of array at index "index1"      varstring = "";            // Empty string which will be added later      for(varindex inrow) {        // Traversing each element in the row        varw = row[index];                // Adding the element at index "index" to the string        string += w;        if(index != row.length - 1) {          string += ",";          // If the element is not the last element , then add a comma        }      }      string += "\n";            // Adding next line at the end      csv += string;      // adding the string to the final string "csv"    }    console.log(csv);</script> | 
Output:
a,2 c,d
 
				 
					


