嗨,我想知道我是否可以在4个不同的var中分别设置10/10和90/100的值,以便我可以计算出平均值?
我尝试使用innerHTML调用var,但似乎不起作用。
这是div的
<div class="course_eval_cell hasGrade" smsctip="true">10/10</div>
<div class="course_eval_cell hasGrade">90/100</div>
示例:10 + 90/10 + 100 => 90.9%。关于如何成为此解决方案的任何建议/想法?
答案 0 :(得分:1)
{
"Id": 13,
"name": "KABALIISA SCOVIA",
"afisid": "PBU433369",
"userProfile": "",
},
var matches = document.querySelectorAll(".course_eval_cell");
let up = 0;
let down = 0;
matches.forEach(function(fraction) {
var divided = fraction.innerHTML.split("/");
up += parseInt(divided[0]);
down += parseInt(divided[1]);
});
console.log((up / down ) * 100 + "%");
答案 1 :(得分:0)
您计算的平均值不正确。通过类名和innerText获取值,映射每个值并相应地拆分和划分。然后将它们加在一起,除以有多少个等级,再除以100得出一个百分比:
var grades = Array.from(document.getElementsByClassName('hasGrade')).map(grade => {
gradeArr = grade.innerText.split('/')
return gradeArr[0] / gradeArr[1]
})
var percentage = grades.reduce((acc, grade) => acc + grade, 0) / grades.length * 100 + '%'
console.log(percentage)
<div class="course_eval_cell hasGrade" smsctip="true">10/10</div>
<div class="course_eval_cell hasGrade">90/100</div>
答案 2 :(得分:0)
您需要像这样计算平均值。
10/10,等于100/100。也就是说总数为190/200。所以这个百分比是95%
var perc = 0;
var count = 0;
$( ".course_eval_cell" ).each(function( index ) {
perc += eval($( this ).text());
count = index+1;
});
console.log((perc/count)*100 + "%")
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="course_eval_cell hasGrade" smsctip="true">10/10</div>
<div class="course_eval_cell hasGrade">90/100</div>