如何从元素中读取整数数组以从中获取值?

时间:2015-09-01 11:13:41

标签: javascript html

我制作一个代码,在div中随机显示一个6项数组。 我想读取数组并将其传递给函数来计算它的平均值?

HTML

我必须做什么,我如何存储div的数据(id ="数字") 并将其推入数组?

 <pre>

  <div >
  <form  action="" method="post" name="meanForm"  onsubmit='return false'            id="formmine">

<table width="100%" border="0" 
<tr>
 <td colspan="3" style="background-color:#06F ;color:#FFF">Answer this   problem</td>
 </tr>
 <tr>
<td style="color:green; font-size:20px">What is the mean of these numbers   </td>
<td colspan="2" ><div id="numbers"></div>
</td>
      </tr>
   <tr>
   <td colspan="3">&nbsp;</td>
   </tr>
 <tr id="answerANDpic">
   <td height="62" colspan="3"  align="center" > <input name="" type="text"      size="15" maxlength="100" height="50" style=" border: solid #0C0 ; border-width:thin"  id="answer"   onkeydown="searchm(this)"/> </td>
     </tr>
  <tr>
   <td colspan="3"  ><div id ="explain" ></div></td>
 </tr>
<tr>
   <td>&nbsp;</td>
   <td><input name="" type="button" id="newEx" style="background-color:green  ; color:white"  align ="left" value="New Problem" class="send_feed"  onclick="randomArray(6,0,99)" /></td>
    <td><input name="" type="button"  id="solution" style="background-color:#606 ; color:#FFF  " align="left" class="send_feed" value="Solution"  onclick="solution()"/></td>
   </tr>
  </table>



 </form>
   </div>

JS中的

       var myNumArray = randomArray(6,0,99);

      function random_number(min,max) {
      return (Math.round((max-min) * Math.random() + min));
}

function randomArray(num_elements,min,max) {
   var nums = new Array;

   for (var element=0; element<num_elements; element++) {
      nums[element] = random_number(min,max);
    }

   document.getElementById("numbers").innerHTML=nums;
    calcMean(nums);
 }




 function calcMean(nums) {
    var num=0;
    for (var i=0;i<nums.length;i++) {
        num += parseFloat( nums[i], 6 );
    }
     var divide=num/nums.length;
    var mean=(parseInt(divide,10));
   var maxi = Math.max.apply(Math,nums);
    var mini = Math.min.apply(Math,nums);

     return mean,maxi,mini;
     }

   function searchm(ele) {
    if(event.keyCode == 13) {
       // alert(ele.value); // i get the value and put it on alert        

       var inans= ele.value;
        return inans;
      }
      }


        function soltuion(){
        //read array saved in div id="numbers"
          // call calcMean()

              //get the mean and max min values 
              } 

1 个答案:

答案 0 :(得分:0)

请参阅下面的代码中的评论。你的代码不远了。

function calcMean(nums){
  var num=0;
  for (var i=0;i<nums.length;i++){
    // parseFloat only has one argument
    // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseFloat
    num += parseFloat( nums[i])

    // If the numbers in the nums array
    // are already floats, you don't need parseFloat
    // So maybe you can do... ?
    // num += nums[i]
  }

  // The line below might divide by zero, so check
  if (nums.length == 0) {
    return 0;
  }

  var divide=num/nums.length;

  // No need to reparse a number.
  mean=divide

  // This code suggests that nums is already filled with numbers
  // See comment in for-loop above
  var maxi = Math.max.apply(Math,nums);
  var mini = Math.min.apply(Math,nums);

  // This returns all 3 numbers
  return [mean,mini,maxi];

  // If you want just the mean,
  // return mean;
}