javascript - 无法在 foreach 循环中对集合中的值求和
问题描述
我的愿望是计算整个总和,然后除以迭代,以创建我可以显示的平均温度。
我已经尝试过 reduce* 方法,但它不能与用于获取温度值的观察值一起使用。
async function updateObservationList() {
const url = "/api/get-all-observations";
const response = await fetch(url);
const data = await response.json();
const tableBody = document.getElementById("table-body");
const averageTemperature = document.getElementById("averageTemperature");
const selector = document.getElementById("stationSelector").value;
let sum = 0;
let iteration = 0;
removeElements();
data.forEach(observation => {
if(selector == 0) {
/**
* Sums temperature of all selected observations and divides it by the number of iterations,
* thereby getting the average temperature
*/
sum += observation.temperature;
iteration++;
console.log(sum)
console.log(iteration)
averageTemperature.textContent = (sum /= iteration).toString();
我得到这个结果。
控制台日志(观察)
解决方案
我只是尝试重新创建场景,您的代码工作正常。
const selector = document.getElementById("stationSelector").value;
const averageTemperature = document.getElementById("averageTemperature");
let sum = 0;
let iteration = 0;
data = [{
temperature: 27
}, {
temperature: 32
}, {
temperature: 25
}, {
temperature: 28
}, {
temperature: 22
}, {
temperature: 21
}]
data.forEach(observation => {
if (selector == 0) {
/**
* Sums temperature of all selected observations and divides it by the number of iterations,
* thereby getting the average temperature
*/
sum += observation.temperature;
iteration++;
}
})
averageTemperature.textContent = (sum /= iteration).toString();
<input type="number" value="0" id="stationSelector">
<p id="averageTemperature"></p>
推荐阅读
- jquery - 为什么我没有得到第二次验证?
- mysql - Mysql从多行中选择,除了列中的Null,结果:最新的一行
- sql - 根据 SQL server 中指定的长度,通过逗号分隔符将多行组合成一行或两行
- java - 使用 Spring MVC 的文件名编码错误
- c - 术语“分段错误(核心转储)”是什么意思?
- java - 从数组中删除奇数出现值
- typescript - Tsc 命令将在我的 VS 终端中打开一个弹出窗口
- machine-learning - 玩 Atari Breakout 时,简单的策略梯度 (REINFORCE) 会过拟合一个动作
- javascript - three.js Box3.min 和 max localToWorld
- scala - 如何修复所有错误并成功运行 Akka Distributed Workers 示例项目?