Natural sort algorithm with unicode support written by Jim Palmer
HTML JavaScript Makefile
Latest commit 0700bb1 Jan 7, 2016 @javve Merge pull request #5 from adrien-be/patch-1
Update qUnit file paths

Readme.md

web component logo

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