Javascript 如何在这种数组中找到元素的最大值?

Javascript 如何在这种数组中找到元素的最大值?,javascript,Javascript,我正在寻找正确的代码,以便名为“finder()”的函数可以执行并在名为“sum”的数组中找到最高值。 按“查找最大值”按钮时,结果为:“[object HTMLInputElement]” 谢谢你的帮助! 以下是代码: <html> <head> <title>Max</title> <meta charset="utf-8"> <script type="text/javascript">

我正在寻找正确的代码,以便名为“finder()”的函数可以执行并在名为“sum”的数组中找到最高值。 按“查找最大值”按钮时,结果为:“[object HTMLInputElement]” 谢谢你的帮助! 以下是代码:

<html>
  <head>
   <title>Max</title>
    <meta charset="utf-8">
    <script type="text/javascript">
      var sum = document.getElementsByName('addends');
      function add() {
          var x = document.getElementById('apendiks');
          x.innerHTML+="<br/><input type='text' name='addends' size='7'>";
        }

       function finder() {  
          var max = sum[0];           
           for(i=0; i<sum.length;i++){

                if(sum[i] > max){
                   max = sum[i];
                }                 
           } 

          document.getElementById('showMaxValue').innerHTML = max;
        }

        function gather() {

          var total=0;
          for(i=0; i < sum.length; i++){

              total+=parseFloat(sum[i].value);
          }
          document.getElementById('score').innerHTML = total;
        }
        </script>
  </head>
  <body>
   <p><input type="button" onclick="add()" value="Add a new box"> </p>
   <p><input type="button" onclick="" value="-"> </p>

  <div id="apendiks"></div>
   <p><input type="button" onclick="gather()" value="Total sum"> </p>
    <p>Score: <b id="score"></b></p>
   <p><input type="button" onclick="finder()" value="Find max"> </p>
   <p id="showMaxValue"></p>
  </body>
 </html> 

马克斯
var sum=document.getElementsByName('addends');
函数add(){
var x=document.getElementById('apendiks');
x、 innerHTML+=“
”; } 函数查找器(){ var max=总和[0]; 对于(i=0;i最大值){ max=总和[i]; } } document.getElementById('showMaxValue')。innerHTML=max; } 函数gather(){ var合计=0; 对于(i=0;i

分数:

var sum=document.getElementsByName('addends')

此行将为您提供节点列表,而不是数组

finder
方法中,需要将其视为

  function finder() 
  {
       var max = paeseInt(sum[0].value) ;
       for(i=0; i<sum.length;i++){
            if(parseInt(sum[i].value) > max && !isNaN(sum[i].value)){ //assuming that strings should be ignored
               max = parseInt(sum[i].value) ;
            }
       } 
       document.getElementById('showMaxValue').innerHTML = max;
  }
函数查找器()
{
var max=paeseInt(和[0]。值);
对于(i=0;i max&&!isNaN(sum[i].value)){//假设应忽略字符串
max=parseInt(和[i].值);
}
} 
document.getElementById('showMaxValue')。innerHTML=max;
}

使用
.value
获取输入字段的值


马克斯
var sum=document.getElementsByName('addends');
函数add(){
var x=document.getElementById('apendiks');
x、 innerHTML+=“
”; } 函数查找器(){ var max=sum[0]。值; 对于(i=0;i最大值){ max=和[i]。值; } } document.getElementById('showMaxValue')。innerHTML=max; } 函数gather(){ var合计=0; 对于(i=0;i

分数:


如果我将
398 49 fdr
输入到文本字段
“addends”
,该怎么办?Sum[]是一个html输入对象数组。我认为您正在尝试从输入中获取值,但是您正在相互比较输入元素,而不是它们包含的值。多个问题。。。请参见@charlietfl,但他在按下“查找最大值”按钮时得到的结果是:“[object HTMLInputElement]”如果我在文本字段中输入
398-49fdr
加数,那么结果应该是什么?在这种情况下,什么输出将给出具有此输入值的解决方案
-f0j381
?您认为……这里是一样的……比较字符串而不是数字
sum[i]。无论用户输入是数字还是非数字,值都是字符串