
使用Array.prototype.join()方法与分隔符 . 组合所有 columns 名称以创建第一行。
使用Array.prototype.map()和 Array.prototype.reduce()为每个对象创建一行。用空字符串替换不存在的值,并且只映射columns 。
使用Array.prototype.join()将所有行组合成一个字符串,每行用换行符 ( \n) 分隔。
如果省略第三个参数 delimiter,使用默认分隔符',' 进行数据分隔。
constJSONtoCSV=(arr,columns,delimiter=',')=>
[
columns.join(delimiter),
...arr.map(obj=>
columns.reduce(
(acc,key)=>
`${acc}${!acc.length?'':delimiter}"${!obj[key]?'':obj[key]}"`,
''
)
),
].join('\n');
更多内容请访问:https://www.icoderoad.com