@extra-array/compare
Version:
Compares two arrays.
63 lines (46 loc) • 1.64 kB
Markdown
Compares two arrays.
[:package:](https://www.npmjs.com/package/@extra-array/compare)
[:smiley_cat:](https://github.com/orgs/nodef/packages?repo_name=extra-array)
[:running:](https://npm.runkit.com/@extra-array/compare)
[:vhs:](https://asciinema.org/a/332026)
[:moon:](https://www.npmjs.com/package/@extra-array/compare.min)
[:scroll:](https://unpkg.com/@extra-array/compare/)
[:newspaper:](https://nodef.github.io/extra-array/)
[:blue_book:](https://github.com/nodef/extra-array/wiki/)
> Similar: [compare], [isEqual].
> This is part of package [extra-array].
[extra-array]: https://www.npmjs.com/package/extra-array
<br>
```javascript
array.compare(x, y, [fc], [fm]);
// x: an array
// y: another array
// fc: compare function (a, b)
// fm: map function (v, i, x)
// → x<y: -1, x=y: 0, x>y: 1
```
```javascript
const array = require("extra-array");
var x = [1, 2];
var y = [1, 2, 3];
array.compare(x, y);
// -1
var y = [1, 2];
array.compare(x, y);
// 0
var y = [1, -2];
array.compare(x, y);
// 1
array.compare(x, y, (a, b) => Math.abs(a) - Math.abs(b));
// 0
array.compare(x, y, null, v => Math.abs(v));
// 0
```
<br>
<br>
## References
- [String.prototype.localeCompare: MDN web docs](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare)
- [string::compare: cplusplus](http://www.cplusplus.com/reference/string/string/compare/)
- [String.Compare: .NET](https://docs.microsoft.com/en-us/dotnet/api/system.string.compare?view=netframework-4.8)
[compare]: https://github.com/nodef/extra-array/wiki/compare
[isEqual]: https://github.com/nodef/extra-array/wiki/isEqual