javascript - 如何按数字顺序对字符串数组进行排序?
问题描述
例如,我有一个字符串数组['item 2','item 1','item 10','item 4']
。我希望它是这样['item 1','item 2','item 4','item 10']
的,但默认情况下,该sort()
函数按字母顺序对值进行排序,这意味着它看起来像这样['item 1','item 10','item 2','item 4']
解决方案
只需获取数字并对其进行排序
let array = ["item 1", "item 10", "item 2", "item 4"];
const result = array.sort((a, b) => a.match(/\d+/) - b.match(/\d+/));
console.log(result);
推荐阅读
- algorithm - 图形LASSO中算法解决方案和MATLAB CVX解决方案的区别?
- sql - 获取时间为 00:00:00/23:59:59 的当前日期
- python - 没有 Scipy 的双变量插值
- bash - jq 将 2 个文件合并为关联的“json”文件
- c# - 停止来自异步 lambda 的异常向上传播调用堆栈
- java - MongoDB Java 驱动程序 4.2.2 - 将 .iterator 或 .into 与 .find 链接时出现 java.lang.noSuchMethodError
- azure - Azure API 管理服务更新 CORS 以允许 OPTIONS
- python - how can I use multiple "on_message" which are working?
- r - 随着时间的推移,唯一值的累积计数
- python - 如何将 exp() 符号从表达式转换为数值?