Array to CSV

JavaScriptJavaScriptBeginner
Practice Now

This tutorial is from open-source community. Access the source code

Introduction

In this lab, we will explore how to use JavaScript to convert a 2D array to a comma-separated values (CSV) string. The lab will guide you through the process of using Array.prototype.map() and Array.prototype.join() to create a CSV string from a 2D array. By the end of the lab, you will have a solid understanding of how to convert arrays into CSV strings using JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("`JavaScript`")) -.-> javascript/BasicConceptsGroup(["`Basic Concepts`"]) javascript(("`JavaScript`")) -.-> javascript/AdvancedConceptsGroup(["`Advanced Concepts`"]) javascript/BasicConceptsGroup -.-> javascript/variables("`Variables`") javascript/BasicConceptsGroup -.-> javascript/data_types("`Data Types`") javascript/BasicConceptsGroup -.-> javascript/arith_ops("`Arithmetic Operators`") javascript/BasicConceptsGroup -.-> javascript/comp_ops("`Comparison Operators`") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("`Higher-Order Functions`") javascript/AdvancedConceptsGroup -.-> javascript/template_lit("`Template Literals`") subgraph Lab Skills javascript/variables -.-> lab-28157{{"`Array to CSV`"}} javascript/data_types -.-> lab-28157{{"`Array to CSV`"}} javascript/arith_ops -.-> lab-28157{{"`Array to CSV`"}} javascript/comp_ops -.-> lab-28157{{"`Array to CSV`"}} javascript/higher_funcs -.-> lab-28157{{"`Array to CSV`"}} javascript/template_lit -.-> lab-28157{{"`Array to CSV`"}} end

Convert 2D Array to CSV

To convert a 2D array to a comma-separated values (CSV) string, follow these steps:

  1. Open the Terminal/SSH and type node to start practicing coding.
  2. Use Array.prototype.map() and Array.prototype.join() to combine individual 1D arrays (rows) into strings, using the provided delimiter.
  3. Use Array.prototype.join() to combine all rows into a CSV string, separating each row with a newline (\n).
  4. If you want to use the default delimiter of ,, omit the second argument, delimiter.

Here is an example of the code:

const arrayToCSV = (arr, delimiter = ",") =>
  arr
    .map((v) =>
      v
        .map((x) => (isNaN(x) ? `"${x.replace(/"/g, '""')}"` : x))
        .join(delimiter)
    )
    .join("\n");

You can test the function by running the following lines of code:

arrayToCSV([
  ["a", "b"],
  ["c", "d"]
]); // '"a","b"\n"c","d"'
arrayToCSV(
  [
    ["a", "b"],
    ["c", "d"]
  ],
  ";"
); // '"a";"b"\n"c";"d"'
arrayToCSV([
  ["a", '"b" great'],
  ["c", 3.1415]
]);
// '"a","""b"" great"\n"c",3.1415'

Summary

Congratulations! You have completed the Array to CSV lab. You can practice more labs in LabEx to improve your skills.

Other JavaScript Tutorials you may like