3 回答
TA贡献1850条经验 获得超11个赞
使用 reduce 求平均值:
const average = values.reduce((acc, cur) => acc + cur) / values.length
然后你可以运行 run 你的其他函数:
values.filter(v => v > average)
TA贡献1866条经验 获得超5个赞
你可以这样做:
const values = [5, 6, 10, 4, 3, 7, 1]
const sum = values.reduce((a, b) => {
return a + b;
}, 0);
const average = sum / values.length + 1
console.log(average)
在这个 reduce 函数中,你有 2 个参数。第一个a是当前值。第二个b蓄能器。
像这样减少工作的平均功能:
在第一次迭代中:
累加器 (a) 等于 0
当前值 (b) 等于 5(数组的第一个索引)
5 被退回
在第二次迭代中:
累加器 (a) 等于 5(它是前一个操作的结果)
当前值 (b) 等于 6(数组的第二个索引)
11 返回 (a + b)
等等 ...
如果你仔细观察,最后(大括号之后)你有一个零。这是初始值,如果您决定从 0 开始计数,则无需指定。但如果您希望可以指定 8,则在第一个循环中累加器的值等于 8。
在这种情况下,第一次迭代等于:
累加器 (a) 等于 8
当前值 (b) 等于 5
13 被退回
最后总和将等于 44。
TA贡献1906条经验 获得超10个赞
由于您需要在此作业中使用 .reduce(),我将执行以下操作:
const values = [5, 6, 10, 4, 3, 7, 1];
function averageValues(v) {
const reducer = (accumulator, currentValue) => accumulator + currentValue;
return v.reduce(reducer)/v.length;
}
const average = averageValues(values);
console.log('Average = ' + average);
console.log(values.filter(v => v > average))
添加回答
举报