Revision: 27753
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at June 22, 2010 14:12 by mrhoo
Initial Code
Array.prototype.naturalSort= function(){ var a, b, a1, b1, rx=/(\d+)|(\D+)/g, rd=/\d+/; return this.sort(function(as, bs){ a= String(as).toLowerCase().match(rx); b= String(bs).toLowerCase().match(rx); while(a.length && b.length){ a1= a.shift(); b1= b.shift(); if(rd.test(a1) || rd.test(b1)){ if(!rd.test(a1)) return 1; if(!rd.test(b1)) return -1; if(a1!= b1) return a1-b1; } else if(a1!= b1) return a1> b1? 1: -1; } return a.length- b.length; }); }
Initial URL
Initial Description
Initial Title
javascript natural sort
Initial Tags
sort, array
Initial Language
JavaScript