gpt4 book ai didi

javascript - 求未知数量数字的平均值

转载 作者:行者123 更新时间:2023-11-30 14:45:21 25 4
gpt4 key购买 nike

关于同一件事,我对这篇文章有几个不同的问题。

(此代码可让您插入分数并计算它们的平均值)

1.号码数量未知时,如何进行?为了完成这三个数字,我会做 ((eng1n + eng2n + eng3n)/(eng1d + eng2d + eng3d)) * 100 (以 n 结尾的变量是分数的分子,而以结尾的变量d 是分母),但是我该如何处理未知数量的数字呢?

2.我将从带有 6 个输入的网页开始(3 个分数,因为我有一个输入用于分子,一个用于分母)但是我如何制作一个按钮来创建另一组输入?

这通常很容易,但我该怎么做才能让他们每个人都有自己唯一的 ID? ID 将遵循一种模式(engNUMBERn、engNUMBERd,并且每组的编号比最后一组高一个),这可能使这成为可能。然而,在不知道它们的数量的情况下将它们纳入上述等式也是一个挑战。

3.我的最后一个问题不应该太难,假设我们有两个分数,所以等式是 ((eng1n + eng2n)/(eng1d + eng2d)) * 100。我怎样才能做到,如果只有分数的分子或分母被填充,那么分子和分母都从等式中删除?谢谢!

代码:

<!DOCTYPE html>

<link rel="stylesheet" href="style.css">

<div id='english' class='class'>English 1</div>
<div id='engBookTests' class='type'>Book Tests</div>
<div>
<div><input id='eng1n' type='number' placeholder='##' onkeyup='update()' onchange='update()' class='input'>/<input id='eng1d' type='number' placeholder='##' onkeyup='update()' onchange='update()' class='input'></div>
<div><input id='eng2n' type='number' placeholder='##' onkeyup='update()' onchange='update()' class='input'>/<input id='eng2d' type='number' placeholder='##' onkeyup='update()' onchange='update()' class='input'></div>
<div><input id='eng3n' type='number' placeholder='##' onkeyup='update()' onchange='update()' class='input'>/<input id='eng3d' type='number' placeholder='##' onkeyup='update()' onchange='update()' class='input'></div>
</div>

<script>
function update() {
var eng1n = document.getElementById('eng1n').value;
var eng1d = document.getElementById('eng1d').value;
var eng2n = document.getElementById('eng2n').value;
var eng2d = document.getElementById('eng2d').value;
var eng3n = document.getElementById('eng3n').value;
var eng3d = document.getElementById('eng3d').value;
if (eng1n != "" && eng1d != "") {
var engBTA = ((eng1n + eng2n + eng3n) / (eng1d + eng2d + eng3d)) * 100
document.getElementById('engBookTests').innerHTML = "Book Tests (" + engBTA + "%)"
}
}
</script>

CSS:

.class {
font-weight: bold;
}

.type {
}

.input {
left: 0;
width: 14px;
border: 0;
direction: ltr;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}

最佳答案

这是您要查找的代码。我重新编写了您的函数并添加了一个以添加新的分数。

这是我改变的:

  1. 我制作了一个插入分数元素的按钮,这样您就可以添加为随心所欲。

  2. 删除了 input id 并为那里提供了不同值的类

  3. 重新制作您的 update() 函数,使其可以处理任意数量的输入。

    希望这就是您要找的。如果需要,很乐意解释或提供更好的解决方案。

function update() {
var nums = document.getElementsByClassName('num');
var dens = document.getElementsByClassName('den');

var sumN = 0;
for (var i = 0; i< nums.length; i++){
sumN += +nums[i].value;
}
var sumD = 0;
for (var i = 0; i< dens.length; i++){
sumD += +dens[i].value;
}

var engBTA = ( sumN/sumD) * 100;
document.getElementById('engBookTests').innerHTML = "Book Tests (" + engBTA + "%)";


}


function newFrac() {
var elem = "<input type='number' placeholder='##' onkeyup='update()' onchange='update()' class='input num'>/<input type='number' placeholder='##' onkeyup='update()' onchange='update()' class='input den'>"
var temp = document.createElement('div');
temp.innerHTML = elem;
document.getElementById('fractions').appendChild(temp);

}
.class {
font-weight: bold;
}

.type {}

.input {
left: 0;
width: 14px;
border: 0;
direction: ltr;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
<!DOCTYPE html>

<link rel="stylesheet" href="style.css">

<div id='english' class='class'>English 1</div>
<div id='engBookTests' class='type'>Book Tests</div>
<div id="fractions">

<div>
<input type='number' placeholder='##' onkeyup='update()' onchange='update()' class='input num'>/
<input type='number' placeholder='##' onkeyup='update()' onchange='update()' class='input den'>
</div>

</div>
<button onclick='newFrac()'>New</button>

关于javascript - 求未知数量数字的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49020668/

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