Challenge scoring system

by Josh Pullen

JavaScript

function score(answers) {
    while (answers.length < 10) answers.unshift(0)
    let score = 0

    let weights = answers.map((a, i) => Math.pow(answers.length - i, -0.5))
    let weightSum = weights.reduce((a, b) => a + b, 0)
    weights = weights.map(weight => weight / weightSum)

    for (let i = 0; i < answers.length; i++) {
        score += answers[i] * weights[i]
    }

    return score
}

console.log(score([1, 0, 1]))