如何使用该值计算? “ 10/10”

时间:2019-05-28 12:24:47

标签: javascript

嗨,我想知道我是否可以在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%。关于如何成为此解决方案的任何建议/想法?

3 个答案:

答案 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>