@extra-array/partition-as
Version:
Segregates values by similarity.
51 lines (37 loc) • 1.51 kB
Markdown
Segregates values by similarity.
[:package:](https://www.npmjs.com/package/@extra-array/partition-as)
[:smiley_cat:](https://github.com/orgs/nodef/packages?repo_name=extra-array)
[:running:](https://npm.runkit.com/@extra-array/partition-as)
[:vhs:](https://asciinema.org/a/332103)
[:moon:](https://www.npmjs.com/package/@extra-array/partition-as.min)
[:scroll:](https://unpkg.com/@extra-array/partition-as/)
[:newspaper:](https://nodef.github.io/extra-array/)
[:blue_book:](https://github.com/nodef/extra-array/wiki/)
> Alternatives: [partition], [partitionAs].<br>
> Similar: [count], [partition].
> This is part of package [extra-array].
[extra-array]: https://www.npmjs.com/package/extra-array
<br>
```javascript
array.partitionAs(x, [fm]);
// x: an array
// fm: map function (v, i, x)
// → Map {key => values}
```
```javascript
const array = require("extra-array");
var x = [1, 2, 3, 4];
array.partitionAs(x, v => v % 2 == 0);
// Map(2) { false => [ 1, 3 ], true => [ 2, 4 ] }
var x = [1, 2, 3, 4, 5];
array.partitionAs(x, v => v % 3);
// Map(3) { 1 => [ 1, 4 ], 2 => [ 2, 5 ], 0 => [ 3 ] }
```
<br>
<br>
## References
- [Data.List.partition: Haskell](http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-List.html#v:partition)
- [Array.groupBy: sugarjs](https://sugarjs.com/docs/#/Array/groupBy)
[partition]: https://github.com/nodef/extra-array/wiki/partition
[partitionAs]: https://github.com/nodef/extra-array/wiki/partitionAs
[count]: https://github.com/nodef/extra-array/wiki/count