gpt4 book ai didi

javascript - JS : get 5 items each time from whole array and get average

转载 作者:行者123 更新时间:2023-11-28 15:24:58 26 4
gpt4 key购买 nike

我有一个数组,例如 var arr = [2,7,3,8,9,4,9,2,8,7,9,7,3,2,4,5,7,8,2,7,6,1,8];

我想要(我认为 for 循环最适合循环) for 循环遍历整个数组并获取数组中彼此靠近的 5 个项目,并使用这 5 个项目运行一个函数来计算他们的平均数。这当然必须重复,直到没有 5 的部分可用为止。上面的数组有 23 个值。因此,当我应该在其上运行代码时,它可以循环 4 次,因为不能再循环一次,因为它有 3/5 的值。

我想过这样做:

for (var i = 0; i < arr.length; i++) {
doThisFunction(i, i+1, i+2, i+3, i+4 );
}

但我相信这应该不是有效的......有什么帮助吗?

最佳答案

你正在做某事,最简单的方法是

var arr    = [2,7,3,8,9,4,9,2,8,7,9,7,3,2,4,5,7,8,2,7,6,1,8];
var result = [];

for (var i=0; (i+5)<arr.length; i=i+5) {
var average = (arr[i] + arr[i+1] + arr[i+2] + arr[i+3] + arr[i+4]) / 5;
result.push(average);
}

document.body.innerHTML = '<pre>' + JSON.stringify(result, null, 4) + '</pre>';

做同样事情的更奇特的方法

var result = arr.map(function(x,i) {
return i%5===0 ? arr.slice(i, i+5).reduce(function(a,b) {return a+b}) / 5 : NaN;
}).filter(isFinite);

关于javascript - JS : get 5 items each time from whole array and get average,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29418605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com