@extra-array/partition-as.min
Version:
Segregates values by similarity.
59 lines (43 loc) • 1.9 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
> This is browserified, minified version of [@extra-array/partition-as].<br>
> It is exported as global variable **array_partitionAs**.<br>
> CDN: [unpkg], [jsDelivr].
[@extra-array/partition-as]: https://www.npmjs.com/package/@extra-array/partition-as
[unpkg]: https://unpkg.com/@extra-array/partition-as.min
[jsDelivr]: https://cdn.jsdelivr.net/npm/@extra-array/partition-as.min
<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