Add mapString, fix dig

This commit is contained in:
Angelos Chalaris
2018-07-14 10:59:56 +03:00
parent c4c4a39a30
commit 005dfcf8d0
7 changed files with 1601 additions and 1551 deletions

View File

@ -5,7 +5,7 @@ Returns the target value in a nested JSON object, based on the given key.
Use the `in` operator to check if `target` exists in `obj`.
If found, return the value of `obj[target]`, otherwise use `Object.values(obj)` and `Array.reduce()` to recursively call `dig` on each nested object until the first matching key/value pair is found.
```
```js
const dig = (obj, target) =>
target in obj
? obj[target]
@ -17,7 +17,7 @@ const dig = (obj, target) =>
}, undefined);
```
```
```js
const data = {
level1:{
level2:{

16
snippets/mapString.md Normal file
View File

@ -0,0 +1,16 @@
### mapString
Creates a new string with the results of calling a provided function on every character in the calling string.
Use `String.split('')` and `Array.map()` to call the provided function, `fn`, for each character in `str`.
Use `Array.join('')` to recombine the array of characters into a string.
The callback function, `fn`, takes three arguments (the current character, the index of the current character and the string `mapString` was called upon).
```js
const mapString = (str, fn) =>
str.split('').map((c, i) => fn(c, i, str)).join('');
```
```js
mapString('lorem ipsum', c => c.toUpperCase()); // 'LOREM IPSUM'
```