需要帮助返回字符串中最大的连续3个数字(javascript)

需要帮助返回字符串中最大的连续3个数字(javascript),javascript,string,numbers,Javascript,String,Numbers,在我的函数中,我得到了一组数字作为参数。我需要找到最大的3位连续数字并返回它 function largestThreeDigitNum(numString){ let largestNumber = 0; let largestThreeNumber = 0; for(let i= 0; i<numString.length; ++i){ if(numString[i] === largestNumber){ larg

在我的函数中,我得到了一组数字作为参数。我需要找到最大的3位连续数字并返回它

function largestThreeDigitNum(numString){

    let largestNumber = 0;
    let largestThreeNumber = 0; 

    for(let i= 0; i<numString.length; ++i){
        if(numString[i] === largestNumber){
            largestThreeNumber = largestNumber++
        }
    }
    return largestThreeNumber; 
}
函数largestThreeDigitNum(numString){
设最大数=0;
设最大三位数=0;

对于(i=0;iOK),我们假设您的输入字符串类似于“123465789”。您可以将其拆分为空格,只保留3位数字,对其进行排序,然后取最后三位数字

largestThreeDigitNum=numString=>numString
.split(“”//将其拆分为多个空格
.filter(n=>n.length==3)//只保留3位数字
.sort()
.slice(-3)//取最后三个

log(largestThreeDigitNum(“56 456 321 78 987 123 741 2 96 41 58 654”)
这是一个返回3个最大连续数字的小脚本,希望它能帮助您

函数largestThreeDigitNum(numString){
var数=[];
//循环使用所有3个连续数字填充数组
对于(var i=0;iconsole.log(largestThreeDigitNum(“693759936”)
这里有一种详细的方法,试图将问题分解为几个小问题,并用小函数解决这些问题。本质上我们:

  • 将字符串转换为数组
  • 将数组分成三块,或尽可能接近三块
  • 过滤掉不是三个数字长的块
  • 将3个“数字”字符串的块转换为单个数字
  • 检查每个数字,记录最大的数字
  • 返回最大的
如果您需要快速的解决方案,那么这不是最有效的解决方案,您最好使用其他解决方案。但是,如果您有兴趣拥有一个由小型可组合块构建的解决方案,那么这可能对您有好处

const splitIntoAllChunks=size=>array=>Object.values(
大堆
.reduce((上一个,i)=>({
…上一页,
[i] :array.slice(i,i+大小),
}), {})
);
const splitintotrees=splitIntoAllChunks(3);
const isLength=length=>array=>array.length==length;
常量stringArrayToNumber=array=>Number(array.join(“”));
const getMax=(champ,challenger)=>challenger>champ?challenger:champ;
const example=“184727158129123”
常量结果=拆分为三个(例如,拆分(“”))
.过滤器(长度(3))
.map(stringArrayToNumber)
.reduce(getMax,0);

console.dir(result);
您可以获取一个临时数组并检查值

var数组=[101、102、103、307、308、309、211、215、227、249、479、480、481、901、902、635、636、637],
温度=[],
最大=数组.reduce((r,b,i,{[i-1]:a})=>{
如果(a!==b-1){
温度=[b];
返回r;
}
温度推动(b);
如果(温度长度>3)温度偏移();
if(temp.length==3&(!r|r[0]console.log(最大);
请添加一些示例。谢谢you@jeremyThile!这太棒了!只是,如果需要3个连续的数字,它会如何变化?你说的连续是什么意思?123->124->125?还是输入字符串中的连续?中间是否允许有其他数字?等等@BethHowell,请添加一些示例和想要的结果。@ninaScholz…sorry、 超级新的编码和第一个问题。一个例子是一个字符串的数字即“12837469”。必须返回最大的连续3:837