compare
DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/compare package

2.0.0 • Public • Published

compare

100-correct

Compare primitives the right way (using <, > and ==)

This module does the right thing with numbers and ascii strings. Normally String.prototype.localeCompare is recommended for strings, but that can have nasty side effects on some machines, eg.

'cu'.localeCompare('cs', 'hu')

Compare the above in stock node (which doesn't come with Intl) and a browser of your choice (which most likely has Intl support).

Usage

var compare = require('compare')
[1, 2, 10].sort() // [1, 10, 2]
[1, 2, 10].sort(compare) // [1, 2, 10]
 
// Below is sorted correctly according to Hungarian, but runtimes without Intl
// support will reorder them
['cu', 'cs'].sort((a, b) => a.localeCompare(b, 'hu'))
['cu', 'cs'].sort(compare) // This will always sort the same

API

compare(a, b)

Standard Array.prototype.sort(cmp) function signature. If a > b return 1, if a < b return -1, otherwise return 0

Credit

Thanks to hughsk for the npm name!

Install

npm install compare

License

ISC

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i compare

      Weekly Downloads

      356

      Version

      2.0.0

      License

      ISC

      Unpacked Size

      2.68 kB

      Total Files

      4

      Last publish

      Collaborators

      • emilbayes
      • hughsk
      • mafintosh