javascript - 在javascript中使用数组查找最大数字

标签 javascript html arrays

该代码适用于一位数字,但不适用于两位或三位数数字,我该怎么办>????我只想这样做而不使用 math max 函数。

问题主要是它只考虑两位数的第一位。那么我该怎么做才能将两位数读取为两位数并打印最大值。

<小时/>

快速回复将不胜感激。

document.querySelector('.result').addEventListener('click',function(){

    var val1, val2 , val3, val4, val5, val6, val7, val8;
    var max = 0;
    
    
    val1 = document.querySelector('#value1').value;
    val2 = document.querySelector('#value2').value;
    val3 = document.querySelector('#value3').value;
    val4 = document.querySelector('#value4').value;
    val5 = document.querySelector('#value5').value;
    val6 = document.querySelector('#value6').value;
    val7 = document.querySelector('#value7').value;
    val8 = document.querySelector('#value8').value;
  
    //console.log(val1);
    
var array = [val1, val2, val3, val4, val5, val6, val7, val8];

    for(var i=0;i<8;i++){
        if(array[i] > max)
            {
                max = array[i];
            }
    }    




    
    document.getElementById('totalt').value= max;
});
<!DOCTYPE html>
<html>
    <body>
    <div class="outer-block"> 
        <em><h1>Biggest number</h1></em>

      
        <h3>Enter marks</h3>
        <div class="display"> FIRST NUMBER: </div>
        <input type="text" placeholder="Number 1" class="marks" id="value1">
        <div class="display"> SECOND NUMBER: </div>
        <input type="text" placeholder="Number 2" class="marks" id="value2">
        <div class="display"> THIRD NUMBER: </div>
        <input type="text" placeholder="Number 3" class="marks" id="value3">
        <div class="display"> FORTH NUMBER: </div>
        <input type="text" placeholder="Number 4" class="marks" id="value4">
        <div class="display"> FIFTH NUMBER: </div>
        <input type="text" placeholder="Number 5" class="marks" id="value5">
        <div class="display"> SIXTH NUMBER: </div>
        <input type="text" placeholder="Number 6" class="marks" id="value6">
        <div class="display"> SEVENTH NUMBER: </div>
        <input type="text" placeholder="Number 7" class="marks" id="value7">
        <div class="display"> EIGHTH NUMBER: </div>
        <input type="text" placeholder="Number 8" class="marks" id="value8">
        
        
        
        
        
        
        <input type="submit" value="GO" class="result">
        <div class="display" id="totale">BIGGEST NUMBER</div>
        <input type="text" id="totalt" class="marks">
 
        
</div>    
    
    </body>

</html>

最佳答案

var array = [1,2,3,4,5];

//    console.log(Math.max(...array))

let max = '';
array.forEach(x=> {
  if(parseInt(x) > max){
    max = x;
  }
});

console.log(max);

您可以将数组作为参数传递到 Math.max 中,或者按照您的意愿,在进行检查之前使用 forEach 循环并 parseInt 每个元素

关于javascript - 在javascript中使用数组查找最大数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50542838/

相关文章:

javascript - 在图像上留下点 onclick

javascript - 如何在javascript中构建没有重复的嵌套对象数组

javascript - javascript中对象与数组的内存使用和速度

javascript - scrollTop() 在 Chrome 浏览器中不起作用

javascript - 未捕获的类型错误 : Cannot set property 'value' of null with custom element

html - 如何将此锯齿形边框移动到左侧而不是底部?

javascript - JavaScript 中 '+' 和 ',' 之间的区别

c - 返回指向字符串的指针数组

javascript - 在灯箱的 JQuery 选择器中使用 JS 变量时出现语法错误

javascript - 我们怎样才能减少两条边之间的距离?