JSFiddle - React, Tailwind, and code Playground

by nwellcome

JavaScript

function getMeHired(scoreList) {
    var scoreLength = scoreList.length; //get scoreList's size
    var gradeList = []; //create something to hold our letter grades
    var leftOver = scoreLength % 5;
    var baseHolding = scoreLength / 5;
    var sortedScores = scoreList.sort();
    var previousScore = 0;
    var LowerA, LowerB, LowerC, LowerD;
    var leftOversUsed = 0;


    for (var i = 0; i < scoreLength; i++) //run through sorted scores and define grade bounds
    {
        if (i + 1 == baseHolding) //if in the first 20%
        {
            if (leftOver == 0) //and divided nicely
            LowerA = sortedScores[i]; //we found our lower bound for A
            else { //if not divided nicely
                leftOver--; //take a leftover
                leftOversUsed++; //count it
                i++; //increase our array position
                LowerA = sortedScores[i]; //and then make the lower bound
            }
        }
        console.log("i: " + i + " baseHolding: " + baseHolding + " leftoverUsed: " + leftOversUsed);
        if (i - baseHolding + 1 + leftOversUsed == baseHolding && previousScore != sortedScores[i]) { //if we are in the second 20% give or take a leftover/indentical score
            if (leftOver == 0) //no leftovers?
            LowerB = sortedScores[i]; //great we found our B grade bound
            else { //ugh leftovers again?
                leftOver--; //get rid of them
                leftOversUsed++; //count it
                i++; //increase our position
                LowerB = sortedScores[i]; //give us our B bound
            }
        }

        if (i - baseHolding * 2 + 1 + leftOversUsed == baseHolding && previousScore != sortedScores[i]) { //now to find out third 20% or so
            if (leftOver == 0) //finally no leftovers?
            LowerC = sortedScores[i]; //found our C bound
            else { //getting fed up with leftovers
                leftOver--; //get rid of one
                leftOversUsed++; //count...