2019-04-07
描述
把二位数组转换为使用逗号分割值(CSV) 的字符串。
提示
- 使用
Array.prototype.map()
和Array.prototype.join(delimiter)
把一维数组转换为使用逗号分割的字符串。 - 使用
Array.prototype.join('\n')
将二维数组中的行组合为 CSV
字符串,每一行都使用换行符作为分割。 - 第二个参数
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'