natural-sort
natural-sort copied to clipboard
Natural sort algorithm with unicode support written by Jim Palmer
trafficstars

Natural sort algorithm with unicode support
The algorithm is written by Jim Palmer and found at http://www.overset.com/2008/09/01/javascript-natural-sort-algorithm/.
I, javve, only put it into a Component.
Installation
$ component install javve/natural-sort
Example
var naturalSort = require('natural-sort');
var values = ['B', 'a', 'D', 'c'];
values.sort(naturalSort); // ['B', 'D', 'a', 'c']
values.sort(function(a, b) {
return naturalSort(a, b, { insensitive: true });
}); // ['a', 'B', 'c', 'D']
values.sort(function(a, b) {
return naturalSort(a, b, { insensitive: true, desc: true })
}); // ['D', 'c', 'B', 'a']
var values = [
{ val: 'B' },
{ val: 'a' },
{ val: 'D' },
{ val: 'c' }
];
values.sort(function(a, b) {
return naturalSort(a.val, b.val, { insensitive: true });
}); // ['a', 'B', 'c', 'D']
Find more examples at http://www.overset.com/2008/09/01/javascript-natural-sort-algorithm/
or look at the tests in /test. It's quite impressive. Handles dates, etc.
License
MIT