简介
在本实验中,我们将探索如何使用 JavaScript 将逗号分隔值(CSV)数据转换为二维数组。我们将使用 CSVToArray() 函数,该函数以 CSV 字符串作为输入,并将其转换为数组的数组。本实验将帮助你了解如何处理 CSV 数据并使用 JavaScript 对其进行操作。
将 CSV 转换为数组
要将逗号分隔值(CSV)字符串转换为二维数组,请执行以下步骤:
- 打开终端/SSH 并输入
node开始编码。 - 使用
Array.prototype.indexOf()定位第一个换行符(\n)。 - 如果
omitFirstRow设置为true,则使用Array.prototype.slice()删除第一行(标题行)。 - 使用
String.prototype.split()为每一行创建一个字符串。 - 使用
String.prototype.split()使用提供的delimiter分隔每一行中的值。 - 如果你不提供第二个参数
delimiter,将使用默认分隔符','。 - 如果你不提供第三个参数
omitFirstRow,CSV 字符串的第一行(标题行)将被包含在内。
以下是将 CSV 转换为数组的代码:
const CSVToArray = (data, delimiter = ",", omitFirstRow = false) =>
data
.slice(omitFirstRow ? data.indexOf("\n") + 1 : 0)
.split("\n")
.map((v) => v.split(delimiter));
你可以使用以下示例测试该函数:
CSVToArray("a,b\nc,d"); // [['a', 'b'], ['c', 'd']];
CSVToArray("a;b\nc;d", ";"); // [['a', 'b'], ['c', 'd']];
CSVToArray("col1,col2\na,b\nc,d", ",", true); // [['a', 'b'], ['c', 'd']];
总结
恭喜你!你已经完成了将 CSV 转换为数组的实验。你可以在 LabEx 中练习更多实验来提升你的技能。