将数组转换为 CSV

JavaScriptJavaScriptBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本实验中,我们将探索如何使用 JavaScript 将二维数组转换为逗号分隔值(CSV)字符串。本实验将指导你完成使用 Array.prototype.map()Array.prototype.join() 从二维数组创建 CSV 字符串的过程。在实验结束时,你将对如何使用 JavaScript 将数组转换为 CSV 字符串有扎实的理解。


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{{"将数组转换为 CSV"}} javascript/data_types -.-> lab-28157{{"将数组转换为 CSV"}} javascript/arith_ops -.-> lab-28157{{"将数组转换为 CSV"}} javascript/comp_ops -.-> lab-28157{{"将数组转换为 CSV"}} javascript/higher_funcs -.-> lab-28157{{"将数组转换为 CSV"}} javascript/template_lit -.-> lab-28157{{"将数组转换为 CSV"}} end

将二维数组转换为 CSV

要将二维数组转换为逗号分隔值(CSV)字符串,请执行以下步骤:

  1. 打开终端/SSH 并输入 node 以开始练习编码。
  2. 使用 Array.prototype.map()Array.prototype.join(),通过提供的 delimiter 将各个一维数组(行)组合成字符串。
  3. 使用 Array.prototype.join() 将所有行组合成一个 CSV 字符串,每行之间用换行符(\n)分隔。
  4. 如果你想使用默认分隔符 ,,则省略第二个参数 delimiter

以下是代码示例:

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

你可以通过运行以下代码行来测试该函数:

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'

总结

恭喜你!你已经完成了将数组转换为 CSV 的实验。你可以在 LabEx 中练习更多实验来提升你的技能。