Fix capitalize to use more modern ES6 approach

This commit is contained in:
Stefan Feješ
2017-12-15 12:29:05 +01:00
parent 26607745a7
commit bb131cf6eb

View File

@ -1,10 +1,11 @@
### Capitalize first letter ### Capitalize first letter
Use `slice(0,1)` and `toUpperCase()` to capitalize first letter, `slice(1)` to get the rest of the string. Use destructuring and `toUpperCase()` to capitalize first letter, `...rest` to get array of characters after first letter and then `Array.join('')` to make it a string again.
Omit the `lowerRest` parameter to keep the rest of the string intact, or set it to `true` to convert to lower case. Omit the `lowerRest` parameter to keep the rest of the string intact, or set it to `true` to convert to lower case.
```js ```js
const capitalize = (str, lowerRest = false) => const capitalize = ([first,...rest], lowerRest = false) =>
str.slice(0, 1).toUpperCase() + (lowerRest ? str.slice(1).toLowerCase() : str.slice(1)); first.toUpperCase() + (lowerRest ? rest.join('').toLowerCase() : rest.join(''));
// capitalize('myName') -> 'MyName'
// capitalize('myName', true) -> 'Myname' // capitalize('myName', true) -> 'Myname'
``` ```