如何计算数组中元素的总和和平均值?

新手上路,请多包涵

我在添加数组的所有元素以及平均它们时遇到问题。我将如何做到这一点并使用我目前拥有的代码来实现它?这些元素应该按照我在下面的定义进行定义。

<script type="text/javascript">
//<![CDATA[

var i;
var elmt = new Array();

elmt[0] = "0";
elmt[1] = "1";
elmt[2] = "2";
elmt[3] = "3";
elmt[4] = "4";
elmt[5] = "7";
elmt[6] = "8";
elmt[7] = "9";
elmt[8] = "10";
elmt[9] = "11";

// Problem here
for (i = 9; i < 10; i++){
  document.write("The sum of all the elements is: " + /* Problem here */ + " The average of all the elements is: " + /* Problem here */ + "<br/>");
}

//]]>
</script>

原文由 jonathan miller 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 821
2 个回答
var sum = 0;
 for( var i = 0; i < elmt.length; i++ ){
 sum += parseInt( elmt[i], 10 ); //don't forget to add the base
 }

 var avg = sum/elmt.length;

 document.write( "The sum of all the elements is: " + sum + " The average is: " + avg );

只需遍历数组,因为您的值是字符串,所以必须先将它们转换为整数。平均值只是值的总和除以值的数量。

原文由 Marcus Recck 发布,翻译遵循 CC BY-SA 3.0 许可协议

我认为更优雅的解决方案:

 const sum = times.reduce((a, b) => a + b, 0);
const avg = (sum / times.length) || 0;

console.log(`The sum is: ${sum}. The average is: ${avg}.`);

原文由 Sergi Mansilla 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题