我有这个数组:

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

07-24 12:39