@extra-array/merge
Version:
Merges values from sorted iterables.
54 lines (44 loc) • 1.61 kB
Markdown
Merges values from sorted iterables. [:running:] [:vhs:] [:package:] [:moon:] [:ledger:]
> Similar: [sort], [merge].<br>
> This is part of package [extra-array].
[extra-array]: https://www.npmjs.com/package/extra-array
```javascript
array.merge(xs, [fc], [fm]);
// xs: iterables
// fc: compare function (a, b)
// fm: map function (v, i, x)
```
```javascript
const array = require('extra-array');
var x = [1, 3, 5, 7];
var y = [2, 4, 8];
array.merge([x, y]);
// [
// 1, 2, 3, 4,
// 5, 7, 8
// ]
var y = [-2, -4, -8];
array.merge([x, y], (a, b) => Math.abs(a) - Math.abs(b));
// [
// 1, -2, 3, -4,
// 5, 7, -8
// ]
array.merge([x, y], null, v => Math.abs(v));
// [
// 1, -2, 3, -4,
// 5, 7, -8
// ]
```
### references
- [Data.Lists.mergeBy: Haskell](https://hackage.haskell.org/package/lists-0.4.2/docs/Data-Lists.html#v:mergeBy)
- [Data.List.Utils.mergeBy: Haskell](https://hackage.haskell.org/package/MissingH-1.4.2.1/docs/Data-List-Utils.html#v:mergeBy)
- [itertools.merge: Rust](https://docs.rs/itertools/0.9.0/itertools/fn.merge.html)
- [merge-sorted: @mvayngrib](https://www.npmjs.com/package/merge-sorted)
- [merge-k-sorted-arrays: @jedwards1211](https://www.npmjs.com/package/merge-k-sorted-arrays)
[:running:]: https://npm.runkit.com/@extra-array/merge
[:package:]: https://www.npmjs.com/package/@extra-array/merge
[:moon:]: https://www.npmjs.com/package/@extra-array/merge.min
[:ledger:]: https://unpkg.com/@extra-array/merge/
[sort]: https://github.com/nodef/extra-array/wiki/sort
[merge]: https://github.com/nodef/extra-array/wiki/merge
[:vhs:]: https://asciinema.org/a/332097