Add findKey, findLastKey
This commit is contained in:
14
snippets/findKey.md
Normal file
14
snippets/findKey.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
### findKey
|
||||||
|
|
||||||
|
Returns the first key that satisfies the provided testing function. Otherwise `undefined` is returned.
|
||||||
|
|
||||||
|
Use `Object.keys(obj)` to get all the properties of the object, `Array.find()` to test the provided function for each key-value pair. The callback receives three arguments - the value, the key and the object.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const findKey = (obj, fn) =>
|
||||||
|
Object.keys(obj).find(key => fn(obj[key], key, obj));
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
findKey({barney: { age: 36, active: true }, fred: { age: 40, active: false }, pebbles: { age: 1, active: true }}, o => o['active']); // 'barney'
|
||||||
|
```
|
||||||
14
snippets/findLastKey.md
Normal file
14
snippets/findLastKey.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
### findLastKey
|
||||||
|
|
||||||
|
Returns the last key that satisfies the provided testing function. Otherwise `undefined` is returned.
|
||||||
|
|
||||||
|
Use `Object.keys(obj)` to get all the properties of the object, `Array.reverse()` to reverse their order and `Array.find()` to test the provided function for each key-value pair. The callback receives three arguments - the value, the key and the object.
|
||||||
|
|
||||||
|
```js
|
||||||
|
const findLastKey = (obj, fn) =>
|
||||||
|
Object.keys(obj).reverse().find(key => fn(obj[key], key, obj));
|
||||||
|
```
|
||||||
|
|
||||||
|
```js
|
||||||
|
findKey({barney: { age: 36, active: true }, fred: { age: 40, active: false }, pebbles: { age: 1, active: true }}, o => o['active']); // 'pebbles'
|
||||||
|
```
|
||||||
@ -47,7 +47,9 @@ extendHex:utility,string
|
|||||||
factorial:math,recursion
|
factorial:math,recursion
|
||||||
fibonacci:math,array
|
fibonacci:math,array
|
||||||
filterNonUnique:array
|
filterNonUnique:array
|
||||||
|
findKey:object,function
|
||||||
findLast:array
|
findLast:array
|
||||||
|
findLastKey:object,function
|
||||||
flatten:array
|
flatten:array
|
||||||
flip:adapter,function
|
flip:adapter,function
|
||||||
forEachRight:array,function
|
forEachRight:array,function
|
||||||
|
|||||||
Reference in New Issue
Block a user