You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JavaScript从字母数字字符串提取数字返回升序排序数值数组

JavaScript 实现字符串提取数字并升序排序

实现逻辑

  • 全局匹配字符串内所有整数、小数格式的片段,避免把孤立点号识别为数字组成部分
  • 将匹配到的数字字符串统一转为Number数值类型
  • 修正JS默认sort()的字典序排序问题,传入比较函数实现数值升序排列

函数代码

function extractNumbersAndSort(str) {
  // 匹配规则:1位及以上数字,可选匹配「小数点+1位及以上数字」的小数部分
  const matchedNums = str.match(/\d+(\.\d+)?/g) ?? [];
  return matchedNums
    .map(item => Number(item))
    .sort((prev, next) => prev - next);
}

测试验证

用样例输入测试:

const input = "AC*WV12n/:e123we2.45oinfwoi6n#a98nfwb+owi";
console.log(extractNumbersAndSort(input)); 
// 输出结果: [2.45, 6, 12, 98, 123],完全符合预期

补充说明:如果字符串中没有任何数字,函数会直接返回空数组,不会抛出运行错误;如果需要支持负数、科学计数法等特殊数字格式,只需要调整对应正则匹配规则即可。

内容的提问来源于stack exchange,提问作者Ahmad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 03:03:49