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
|
||||
fibonacci:math,array
|
||||
filterNonUnique:array
|
||||
findKey:object,function
|
||||
findLast:array
|
||||
findLastKey:object,function
|
||||
flatten:array
|
||||
flip:adapter,function
|
||||
forEachRight:array,function
|
||||
|
||||
Reference in New Issue
Block a user