Skip to content
Natural sorting function for JavaScript
JavaScript CoffeeScript VimL Shell
Find file
Pull request Compare This branch is 20 commits ahead, 26 commits behind overset:master.
Failed to load latest commit information.
dist
script Add a simple build script
src Move source and finished build to their own subdirectories
test
.gitignore
.vimrc Add .vimrc with project indentation settings
LICENSE Add MIT License file
README.md
bower.json Start converting tests from qunit to Mocha
coffeelint.json

README.md

Simple numerics

['10',9,2,'1','4'].sort(naturalSort);
// ['1',2,'4',9,'10']

Floats

['10.0401',10.022,10.042,'10.021999'].sort(naturalSort);
// ['10.021999',10.022,'10.0401',10.042]

Float & decimal notation

['10.04f','10.039F','10.038d','10.037D'].sort(naturalSort);
// ['10.037D','10.038d','10.039F','10.04f']

Scientific notation

['1.528535047e5','1.528535047e7','1.528535047e3'].sort(naturalSort);
// ['1.528535047e3','1.528535047e5','1.528535047e7']

IP addresses

['192.168.0.100','192.168.0.1','192.168.1.1'].sort(naturalSort);
// ['192.168.0.1','192.168.0.100','192.168.1.1']

Filenames

['car.mov','01alpha.sgi','001alpha.sgi','my.string_41299.tif'].sort(naturalSort);
// ['001alpha.sgi','01alpha.sgi','car.mov','my.string_41299.tif'

Dates

['10/12/2008','10/11/2008','10/11/2007','10/12/2007'].sort(naturalSort);
// ['10/11/2007', '10/12/2007', '10/11/2008', '10/12/2008']

Money

['$10002.00','$10001.02','$10001.01'].sort(naturalSort);
// ['$10001.01','$10001.02','$10002.00']

Movie Titles

['1 Title - The Big Lebowski','1 Title - Gattaca','1 Title - Last Picture Show'].sort(naturalSort);
// ['1 Title - Gattaca','1 Title - Last Picture Show','1 Title - The Big Lebowski']

By default - case-sensitive sorting

['a', 'B'].sort(naturalSort);
// ['B', 'a']

To enable case-insensitive sorting

naturalSort.insensitive = true;
['a', 'B'].sort(naturalSort);
// ['a', 'B']

Authors

  • Original Author: Jim Palmer (based on chunking idea from Dave Koelle)
  • Optimizations and safari fix by Mike Grier (mgrier.com)
  • Scientific notation and alphanumeric sorting fixes by @Mottie

Original code

Something went wrong with that request. Please try again.