数组转换为CSV
将二维数组转换为逗号分隔值(CSV)字符串。
- 使用
Array.prototype.map()
和Array.prototype.join()
将单个一维数组(行)组合成字符串,使用提供的delimiter
分隔符。 - 使用
Array.prototype.join()
将所有行组合成一个CSV字符串,使用换行符(\n
)分隔每一行。 - 如果不提供第二个参数
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'