Git Product home page Git Product logo

natural-sort's Introduction

David – status of dependencies Code style: airbnb

natural-sort

Sorting with support for numbers, dates, unicode and more.

 

How Nautilus handles sorting

 

You know this from your file manager:

  • Numbers are handled properly – “2” is before “10”
  • Strings are after numbers
  • Empty strings are after “z”
  • “a” is before “B” (opt out via caseSensitive: true)
  • Semver-compatible sorting of version numbers

 

Usage

 ['10. tenth', 'odd', 1, '', '2. second'].sort(naturalSort())
 [1, '2. second', '10. tenth', 'odd', '']

 ['a', 'B'].sort(naturalSort())
 ['a', 'B']
 ['a', 'B'].sort(naturalSort({ caseSensitive: true }))
 ['B', 'a']

 ['a10', 'a', 'a2'].sort(naturalSort())
 ['a', 'a2', 'a10']

 ['1.16.0', '1.2.0', '1.16.0-beta'].sort(naturalSort())
 [ '1.16.0-beta', '1.16.0', '1.2.0' ]

 

Credits

Based on The Aplhanum Algorithm by Dave Koelle.

Original version published in Javascript Natural Sort Algorithm With Unicode Support by Jim Palmer.

 

License

MIT © Studio B12

natural-sort's People

Contributors

ondrejpaluch avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.