温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

javascript数组如何求平均数

发布时间:2022-09-30 16:06:36 来源:亿速云 阅读:188 作者:iii 栏目:web开发

今天小编给大家分享一下javascript数组如何求平均数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

两种求平均数的方法:1、利用forEach()和length属性来求,语法“function f(v){s+=v;}数组对象.forEach(f);avg=s/数组对象.length;”;2、利用reduce()和length属性来求,语法“function f(p,c){s=p+c;return s;}数组对象.reduce(f);avg=s/数组对象.length;”。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

方法1:利用forEach()+length属性

实现思想:

  • 利用forEach()迭代数组计算元素总和

  • 利用length属性计算数组长度

  • 将 数组元素总和 除以 数组长度

实现代码:

var a = [10, 11, 12], sum = 0,len,avg;

function f(value) {
sum += value;
}
a.forEach(f);
console.log("数组元素总和为:"+sum);

len=a.length;
console.log("数组长度为:"+len);

avg=sum/len;
console.log("数组平均数为:"+avg);

javascript数组如何求平均数

说明:

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

array.forEach(funtion callbackfn(value, index, array), thisValue)

funtion callbackfn(value, index, array):必需参数,指定回调函数,最多可以接收三个参数:

  • value:数组元素的值。

  • index:数组元素的数字索引。

  • array:包含该元素的数组对象。

thisValue:可省略的参数,回调函数中的 this 可引用的对象。如果省略 thisArg,则 this 的值为 undefined。

方法2:利用reduce()+length属性

实现思想:

  • 利用reduce()迭代数组计算元素总和

  • 利用length属性计算数组长度

  • 将 数组元素总和 除以 数组长度

实现代码:

var a = [11, 12, 13], sum = 0,len,avg;

function f(pre,curr) {
	sum=pre+curr;
	return sum;
}
a.reduce(f);
console.log("数组元素总和为:"+sum);

len=a.length;
console.log("数组长度为:"+len);

avg=sum/len;
console.log("数组平均数为:"+avg);

javascript数组如何求平均数

说明:

reduce() 方法可对数组中的所有元素调用指定的回调函数。该回调函数的返回值为累积结果,并且此返回值在下一次调用该回调函数时作为参数提供。

array.reduce(function callbackfn(previousValue, currentVaule, currentIndex, array), initialValue)

function callbackfn(previousValue, currentVaule, currentIndex, array):必需参数,指定回调函数,最多可以接收4个参数:

  • previousValue:通过上一次调用回调函数获得的值。如果向 reduce() 方法提供 initialValue,则在首次调用函数时,previousValue 为 initialValue。

  • currentVaule:当前元素数组的值。

  • currentIndex:当前数组元素的数字索引。

  • array:包含该元素的数组对象。

initialValue:可省略的参数,传递给函数的初始值。

以上就是“javascript数组如何求平均数”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI