UNPKG

@extra-array/partition-as

Version:

Segregates values by similarity.

51 lines (37 loc) 1.51 kB
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