Skip to content

Instantly share code, notes, and snippets.

@zablotski
Last active March 2, 2023 17:15
Show Gist options
  • Save zablotski/c38bd8640c68746dda45 to your computer and use it in GitHub Desktop.
Save zablotski/c38bd8640c68746dda45 to your computer and use it in GitHub Desktop.
Skrypt obliczjący średnią ważoną w systemie https://jsos.pwr.edu.pl. Skrypt automatycznie usuwa wpisy z oceną 2.0. Aby obliczyć należy wcisnąć F12 w przeglądarce, otworzyć wkładkę Console i wstawić skrypt. Następnie wcisnąć Enter.
$('td:contains("2.0")').parent().remove(); //usunięcie wpisów z oceną 2
var sum=0; //suma ECTS
var mulSum=0; // suma ECTS * ocena
$('td[title="ocena"]').each(function(){
mulSum += parseFloat($(this).text()) * parseFloat($(this).next().next().text());
sum += parseFloat($(this).next().next().text());
console.log(parseFloat($(this).text()), parseFloat($(this).next().next().text()));
});
console.log(mulSum, sum, mulSum/sum);
@shorti1996
Copy link

shorti1996 commented Jun 19, 2018

W czasie wystawiania ocen, kiedy nie ma jeszcze wszystkich, można dopisać w 2 linijce
$('td:contains("---")').parent().remove();
żeby się nie pogubił z NaN

@szymwisn
Copy link

Drobny refactor, może akurat komuś się przyda:

$('td:contains("2.0")').parent().remove();

let totalEcts = 0; 
let totalWeightedGrades = 0; 

$('td[title="ocena"]').each(function(){
    const grade = parseFloat($(this).text());
    const ects = parseFloat($(this).next().next().text());

    if(grade && ects) {
        totalWeightedGrades += grade * ects;
        totalEcts += ects;
    }
});

let result = totalWeightedGrades / totalEcts;

console.log('Total ECTS: ', totalEcts);
console.log('Result: ', result); 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment