gpt4 book ai didi

javascript - 如何通过按下按钮获得数组的平均值?

转载 作者:行者123 更新时间:2023-12-02 22:51:30 24 4
gpt4 key购买 nike

我在与成绩计算器有关的一些编码方面遇到问题。我环顾四周但无法弄清楚。结果是 NaN。

var inputText;
var kArry = [];
var avg;
var antal;
var sum;

function karakter(){
var inputText = document.getElementById('inputText').value;
if (inputText == 12 || inputText == 10 || inputText == 7 ||
inputText == 4 || inputText == 2 || inputText == 0 || inputText == -3) {
if(inputText !== "") {
kArry.push(inputText);
};
}
document.getElementById("arrayText").innerHTML = kArry;
antal += 1;
sum += inputText;
}

function gennemsnit() {
avg = sum/antal;
document.getElementById("gennemsnit").innerHTML = Math.round(avg);
}

最佳答案

出了什么问题:

  • sum 没有初始值。实际值是 undefined,如果您添加一个(数字)值,您会得到一个在字符串开头带有 'undefined' 的字符串。

    稍后通过对计数进行除法,该值产生 NaN .

  • antal 也是如此,它被声明,但未用零初始化。

  • 使用字符串而不是数字来添加sum。在那里你可以采取unary plus + ,它将字符串数字转换为数字。

  • 假设这些值是允许的值,您可以检查输入并将该值直接推送到数组,而无需再次检查输入字符串是否为空。

一起:

function karakter() {
var inputText = document.getElementById('inputText').value;

if (inputText == 12 || inputText == 10 || inputText == 7 || inputText == 4 || inputText == 2 || inputText == 0 || inputText == -3) {
kArry.push(inputText);
document.getElementById("arrayText").innerHTML = kArry;
antal += 1;
sum += +inputText;
}
}


function gennemsnit() {
var avg = sum / antal;
document.getElementById("gennemsnit").innerHTML = Math.round(avg);
}

var kArry = [];
var antal = 0;
var sum = 0;

关于javascript - 如何通过按下按钮获得数组的平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58163611/

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