js怎么找到字符串中最大的数字 ?

let str = "aa22cs3333sdsa42sda12";
比如这个字符串, 最大的数字是3333, 怎么找到并返回

阅读 2.9k
4 个回答
Math.max(...'aa22cs3333sdsa42sda12'.match(/\d+/g).map(parseFloat))

优化一下上面哥们的答案
Math.max(...'aa22cs3333sdsa42sda12000.3'.match(/(-?\d+)(\.\d+)?/g))支持小数与负数, String.prototype.match()方法检索返回一个字符串匹配正则表达式的结果, 返回的是一个数组, 因此可以解构

// 定义要查找的字符串
var str = "hello world, 1234";

// 使用正则表达式匹配字符串中的数字
var matches = str.match(/\d+/g);

// 使用 Math.max 找到最大的数字
var max = Math.max(...matches);

// 输出结果
console.log(max);  // 输出:1234
function getMaxNumber(str){
    let max = -Infinity
    let temp = ''
    for(let i=0;i<str.length;i++){
        if(!isNaN(temp + str[i])){
            temp += str[i]
        }else{
            if(temp.trim() !== ''){
                max = Math.max(+temp,max)
            }
            temp = ''
        }
        max = Math.max(+temp,max)
    }
    return max;
}
推荐问题
宣传栏