@extra-array/is-permutation
Version:
Checks if array has a permutation.
51 lines (40 loc) • 1.95 kB
Markdown
Checks if array has a permutation. [:running:] [:vhs:] [:package:] [:moon:] [:ledger:]
> Similar: [permutation], [permutations], [isPermutation].<br>
> Similar: [isValue], [isPrefix], [isInfix], [isSuffix], [isSubsequence], [isPermutation].<br>
> This is part of package [extra-array].
[extra-array]: https://www.npmjs.com/package/extra-array
```javascript
array.isPermutation(x, y, [fc], [fm]);
// x: an array
// y: permutation?
// fc: map function (v, i, x)
// fm: compare function (a, b)
```
```javascript
const array = require('extra-array');
var x = [1, 2, 3, 4];
array.isPermutation(x, [4, 3, 2, 1]);
// true
array.isPermutation(x, [3, -1, -2, 4]);
// false
array.isPermutation(x, [3, -1, -2, 4], (a, b) => Math.abs(a) - Math.abs(b));
// true
array.isPermutation(x, [3, -1, -2, 4], null, v => Math.abs(v));
// true
```
### references
- [Data.List.permutations: Haskell](https://hackage.haskell.org/package/base-4.12.0.0/docs/Data-List.html#v:permutations)
- [List-Extra.isPermutationOf: elm](https://package.elm-lang.org/packages/elm-community/list-extra/7.1.0/List-Extra#isPermutationOf)
[:running:]: https://npm.runkit.com/@extra-array/is-permutation
[:package:]: https://www.npmjs.com/package/@extra-array/is-permutation
[:moon:]: https://www.npmjs.com/package/@extra-array/is-permutation.min
[permutation]: https://github.com/nodef/extra-array/wiki/permutation
[permutations]: https://github.com/nodef/extra-array/wiki/permutations
[isPermutation]: https://github.com/nodef/extra-array/wiki/isPermutation
[:ledger:]: https://unpkg.com/@extra-array/is-permutation/
[:vhs:]: https://asciinema.org/a/332080
[isValue]: https://github.com/nodef/extra-array/wiki/isValue
[isPrefix]: https://github.com/nodef/extra-array/wiki/isPrefix
[isInfix]: https://github.com/nodef/extra-array/wiki/isInfix
[isSuffix]: https://github.com/nodef/extra-array/wiki/isSuffix
[isSubsequence]: https://github.com/nodef/extra-array/wiki/isSubsequence