Travis build: 31
This commit is contained in:
37
README.md
37
README.md
@ -394,6 +394,7 @@ average(1, 2, 3);
|
|||||||
* [`capitalize`](#capitalize)
|
* [`capitalize`](#capitalize)
|
||||||
* [`capitalizeEveryWord`](#capitalizeeveryword)
|
* [`capitalizeEveryWord`](#capitalizeeveryword)
|
||||||
* [`CSVToArray`](#csvtoarray)
|
* [`CSVToArray`](#csvtoarray)
|
||||||
|
* [`CSVToJSON`](#csvtojson-)
|
||||||
* [`decapitalize`](#decapitalize)
|
* [`decapitalize`](#decapitalize)
|
||||||
* [`escapeHTML`](#escapehtml)
|
* [`escapeHTML`](#escapehtml)
|
||||||
* [`escapeRegExp`](#escaperegexp)
|
* [`escapeRegExp`](#escaperegexp)
|
||||||
@ -7281,6 +7282,42 @@ CSVToArray('col1,col2\na,b\nc,d', ',', true); // [['a','b'],['c','d']];
|
|||||||
<br>[⬆ Back to top](#table-of-contents)
|
<br>[⬆ Back to top](#table-of-contents)
|
||||||
|
|
||||||
|
|
||||||
|
### CSVToJSON 
|
||||||
|
|
||||||
|
Converts a comma-separated values (CSV) string to a 2D array of objects.
|
||||||
|
The first row of the string is used as the title row.
|
||||||
|
|
||||||
|
Use `Array.slice()` and `Array.indexOf('\n')` and `String.split(delimiter)` to separate the first row (title row) into values.
|
||||||
|
Use `String.split('\n')` to create a string for each row, then `Array.map()` and `String.split(delimiter)` to separate the values in each row.
|
||||||
|
Use `Array.reduce()` to create an object for each row's values, with the keys parsed from the title row.
|
||||||
|
Omit the second argument, `delimiter`, to use a default delimiter of `,`.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const CSVToJSON = (data, delimiter = ',') => {
|
||||||
|
const titles = data.slice(0, data.indexOf('\n')).split(delimiter);
|
||||||
|
return data
|
||||||
|
.slice(data.indexOf('\n') + 1)
|
||||||
|
.split('\n')
|
||||||
|
.map(v => {
|
||||||
|
const values = v.split(delimiter);
|
||||||
|
return titles.reduce((obj, title, index) => ((obj[title] = values[index]), obj), {});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Examples</summary>
|
||||||
|
|
||||||
|
```js
|
||||||
|
CSVToJSON('col1,col2\na,b\nc,d'); // [{'col1': 'a', 'col2': 'b'}, {'col1': 'c', 'col2': 'd'}];
|
||||||
|
CSVToJSON('col1;col2\na;b\nc;d', ';'); // [{'col1': 'a', 'col2': 'b'}, {'col1': 'c', 'col2': 'd'}];
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<br>[⬆ Back to top](#table-of-contents)
|
||||||
|
|
||||||
|
|
||||||
### decapitalize
|
### decapitalize
|
||||||
|
|
||||||
Decapitalizes the first letter of a string.
|
Decapitalizes the first letter of a string.
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -10,12 +10,15 @@ Omit the second argument, `delimiter`, to use a default delimiter of `,`.
|
|||||||
|
|
||||||
```js
|
```js
|
||||||
const CSVToJSON = (data, delimiter = ',') => {
|
const CSVToJSON = (data, delimiter = ',') => {
|
||||||
const titles = data.slice(0,data.indexOf('\n')).split(delimiter);
|
const titles = data.slice(0, data.indexOf('\n')).split(delimiter);
|
||||||
return data.slice(data.indexOf('\n')+1).split('\n').map(v => {
|
return data
|
||||||
const values = v.split(delimiter);
|
.slice(data.indexOf('\n') + 1)
|
||||||
return titles.reduce((obj, title, index) => ((obj[title] = values[index]), obj), {});
|
.split('\n')
|
||||||
});
|
.map(v => {
|
||||||
}
|
const values = v.split(delimiter);
|
||||||
|
return titles.reduce((obj, title, index) => ((obj[title] = values[index]), obj), {});
|
||||||
|
});
|
||||||
|
};
|
||||||
```
|
```
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
|||||||
Reference in New Issue
Block a user