Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 | 1x 2x 16x | // @src: https://github.com/30-seconds/30-seconds-of-code/blob/master/snippets/arrayToCSV.md
/* eslint-disable @typescript-eslint/no-explicit-any */
export const jsonToCsv = (arr: any[], columns: string[], delimiter = ","): string =>
[
columns.join(delimiter),
...arr.map((obj) =>
columns.reduce((acc, key) => `${acc}${!acc.length ? "" : delimiter}"${!obj[key] ? "" : obj[key]}"`, ""),
),
].join("\n");
/* eslint-enable @typescript-eslint/no-explicit-any */
|