@appworks/doctor
Version:
Analyse and running codemods over react/rax projects, troubleshooting and automatically fixing errors
28 lines (27 loc) • 932 B
JavaScript
;
// Case1: calculate dimensions is 1
// return current score
//
// Case2: calculate dimensions more than 1
// Weighted Average:
// 0.9 (fixed weight, for all dimensions) + 0.1 (additional weight, for the lowest score)
// For example, the scores are: 90, 90, 20 (the lowest score is 20)
// (90*(0.9/3) + 90*(0.9/3) + 20*(0.9/3)) + 20 * 0.1 = 62
Object.defineProperty(exports, "__esModule", { value: true });
var ADDITIONAL_WEIGHT = 0.1;
function getFinalScore(arr) {
var finalScore = 0;
if (arr.length === 1) {
finalScore = arr[0];
}
else {
arr.sort(function (a, b) { return a - b; }).forEach(function (score, index) {
if (index === 0) {
finalScore += score * ADDITIONAL_WEIGHT;
}
finalScore += (1 - ADDITIONAL_WEIGHT) / arr.length * score;
});
}
return Number(finalScore.toFixed(2));
}
exports.default = getFinalScore;