Quotation consistency between toCSV converters

This commit is contained in:
Angelos Chalaris
2018-07-06 20:29:32 +03:00
parent 7443e9270f
commit c382edf469
3 changed files with 6 additions and 6 deletions

View File

@ -7,10 +7,10 @@ Use `Array.join('\n')` to combine all rows into a CSV string, separating each ro
Omit the second argument, `delimiter`, to use a default delimiter of `,`. Omit the second argument, `delimiter`, to use a default delimiter of `,`.
```js ```js
const arrayToCSV = (arr, delimiter = ',') => arr.map(v => v.join(delimiter)).join('\n'); const arrayToCSV = (arr, delimiter = ',') => arr.map(v => v.map(x => `"${x}"`).join(delimiter)).join('\n');
``` ```
```js ```js
arrayToCSV([['a', 'b'], ['c', 'd']]); // 'a,b\nc,d' arrayToCSV([['a', 'b'], ['c', 'd']]); // '"a","b"\n"c","d"'
arrayToCSV([['a', 'b'], ['c', 'd']], ';'); // 'a;b\nc;d' arrayToCSV([['a', 'b'], ['c', 'd']], ';'); // '"a";"b"\n"c";"d"'
``` ```

View File

@ -1,2 +1,2 @@
const arrayToCSV = (arr, delimiter = ',') => arr.map(v => v.join(delimiter)).join('\n'); const arrayToCSV = (arr, delimiter = ',') => arr.map(v => v.map(x => `"${x}"`).join(delimiter)).join('\n');
module.exports = arrayToCSV; module.exports = arrayToCSV;

View File

@ -5,8 +5,8 @@ test('arrayToCSV is a Function', () => {
expect(arrayToCSV).toBeInstanceOf(Function); expect(arrayToCSV).toBeInstanceOf(Function);
}); });
test('arrayToCSV works with default delimiter', () => { test('arrayToCSV works with default delimiter', () => {
expect(arrayToCSV([['a','b'],['c','d']])).toBe('a,b\nc,d'); expect(arrayToCSV([['a','b'],['c','d']])).toBe('"a","b"\n"c","d"');
}); });
test('arrayToCSV works with custom delimiter', () => { test('arrayToCSV works with custom delimiter', () => {
expect(arrayToCSV([['a','b'],['c','d']], ';')).toBe('a;b\nc;d'); expect(arrayToCSV([['a','b'],['c','d']], ';')).toBe('"a";"b"\n"c";"d"');
}); });