什么';在javascript中求整数数组平均值的最简单方法是什么?

什么';在javascript中求整数数组平均值的最简单方法是什么?,javascript,arrays,Javascript,Arrays,如果有多个数组,例如 [100, 43, 76, 95, 62], [27, 54, 99, 13, 56], [56, 92, 01, 46, 87] 用每个索引的平均值获取一个数组的最简单方法是什么? 我有一个动态数量的数组,但每个数组中有6个项目 (例如,上述阵列的平均值为[61、63、59、51、68]您可以通过以下方式执行此操作 让arr=[ [100, 43, 76, 95, 62], [27, 54, 99, 13, 56], [56, 92, 01, 46, 87] ]; 设

如果有多个数组,例如

[100, 43, 76, 95, 62],
[27, 54, 99, 13, 56],
[56, 92, 01, 46, 87]
用每个索引的平均值获取一个数组的最简单方法是什么? 我有一个动态数量的数组,但每个数组中有6个项目


(例如,上述阵列的平均值为
[61、63、59、51、68]

您可以通过以下方式执行此操作

让arr=[
[100, 43, 76, 95, 62],
[27, 54, 99, 13, 56],
[56, 92, 01, 46, 87]
];
设ans=arr.reduce((a,b)=>{
返回a.map((x,i)=>x+b[i]);
}).map(a=>Math.round(a/arr.length));

console.log(ans);
您只需要一个循环,它将获得三个数组的相同索引的元素并计算平均值:

var arr1=[100,43,76,95,62];
var arr2=[27,54,99,13,56];
var arr3=[56,92,01,46,87];
var-res=[];
对于(var i=0;i其中一个子数组,使用以获取每列的总和。然后将总和除以子数组的数量:

const arr=[
[100, 43, 76, 95, 62],
[27, 54, 99, 13, 56],
[56, 92, 01, 46, 87]
];
const result=arr[0]。映射((项,索引)=>
数学四舍五入(arr.reduce((平均,sArr)=>avg+sArr[index],0)/arr.length)
);

console.log(result);
首先,您的数据结构并不理想。可以先“旋转”矩阵:

 const arr = [
   [100, 43, 76, 95, 62],
   [27, 54, 99, 13, 56],
   [56, 92, 01, 46, 87]
];

const rotated = arr[0].map((_,i)=> arr.map(row=>row[i]));
然后,您可以轻松地将行相加,并将其除以长度:

const result = rotated.map(
  row => row.reduce((a,b) => a+b ,0)/row.length
);

您可以将同一索引中的所有值相加,然后计算平均值

var数组=[[100,43,76,95,62],[27,54,99,13,56],[56,92,01,46,87],
结果=数组
.减少(功能(r,a){
a、 forEach(函数(b,i){
r[i]=(r[i]| 0)+b;
});
返回r;
}, [])
.map(函数(a,i){
返回Math.round(a/array.length);
});

console.log(结果)
我们不鼓励那些只是断章取义地陈述问题的帖子,并希望社区能够解决它。假设你自己试图解决问题,但遇到了问题,如果你写下自己的想法和你想不出来的东西,这可能会有所帮助。这肯定会给你的帖子带来更多的答案。在那之前,这个问题将被投票关闭/投票被否决。检查我的答案,这是OP想要的编辑了我的答案
Math.floor
?这似乎不正确。@Cerburs,是否更全面?是的,现在返回的值是正确的。