JavaScript 自然排序

标签 javascript arrays sorting natural-sort

我有这个数组:

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/

相关文章:

javascript - 从 Firefox 附加内容脚本中的 main.js 接收消息

c - 冒泡排序中的用户输入

algorithm - 鞍背搜索起点

javascript - 使用键值组合数组中的对象值

javascript - Array.prototype.map.call 与 Array.map

python - 如何使用在对角线上具有特定值 K 的 numpy 创建单位矩阵

ruby-on-rails - 你怎么知道一个数组是否有连续的相同元素?

javascript - 使用 JavaScript/jQuery 显示在页面之间持续存在的 "Loading..."弹出窗口

javascript - 在部署 VueJS 项目之前可以删除哪些文件?

Javascript 禁用输入字段