Add partition
This commit is contained in:
19
snippets/partition.md
Normal file
19
snippets/partition.md
Normal file
@ -0,0 +1,19 @@
|
||||
### partition
|
||||
|
||||
Groups the elements into two arrays, depending on the provided function's truthiness for each element.
|
||||
|
||||
Use `Array.reduce()` to create an array of two arrays.
|
||||
Use `Array.push()` to add elements for which `fn` returns `true` to the first array and elements for which `fn` returns `false` to the second one.
|
||||
|
||||
```js
|
||||
const partition = (arr, fn) =>
|
||||
arr.reduce((acc, val, i, arr) => {fn(val,i,arr) ? acc[0].push(val) : acc[1].push(val); return acc;},[[],[]]);
|
||||
```
|
||||
|
||||
```js
|
||||
var users = [
|
||||
{ 'user': 'barney', 'age': 36, 'active': false },
|
||||
{ 'user': 'fred', 'age': 40, 'active': true }
|
||||
];
|
||||
partition(users, o => o.active) // [[{ 'user': 'fred', 'age': 40, 'active': true }],[{ 'user': 'barney', 'age': 36, 'active': false }]]
|
||||
```
|
||||
@ -111,6 +111,7 @@ once:function
|
||||
onUserInputChange:browser,event,advanced
|
||||
orderBy:object,array
|
||||
palindrome:string
|
||||
partition:array,object,function
|
||||
percentile:math
|
||||
pick:array
|
||||
pipeFunctions:adapter,function
|
||||
|
||||
Reference in New Issue
Block a user