我有这个数组:
var columnArray =
['columnNumber1','columnNumber6','coulmnNumber7','columnNumber11','columnNumber12'];
如果我执行 columnArray.sort();
,它会给我:
columnArray:
['columnNumber1','columnNumber11','coulmnNumber12','columnNumber6','columnNumber7']
如何正确排序?
最佳答案
像这样尝试:
arr = arr.sort(function(a, b) {
return +/\d+/.exec(a)[0] - +/\d+/.exec(b)[0];
});
编辑:修复它现在可以工作,它有几个错误:http://jsbin.com/iwejik/1/edit
关于JavaScript 自然排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14599321/