Home

Map()

1 - JOHN: score 75%
2 - ZIGGY: score 70%
3 - ADAM: score 50%
4 - DAVID: score 40%

const scores = [
    { name: 'John', score: 15 },
    { name: 'Adam', score: 10 },
    { name: 'David', score: 8 },
    { name: 'Ziggy', score: 14 },
];

// sort array by score and transform each item
const transformedArray = scores
    .sort((a, b) => b.score - a.score)
    .map((item, index) => {
        return {
            id: index + 1,
            name: item.name.toUpperCase(),
            score: `${item.score * 5}%`,
            pass: item.score >= 10,
        };
    });

// log transformed array
console.table(transformedArray);

let output = '';
// loop over each item inside the transformed array
transformedArray.forEach((item) => {
    output += `<div class="${item.pass ? 'border-green' : 'border-red'}">
                <b>${item.id} - ${item.name}</b>: score ${item.score}
              </div>`;
});
document.getElementById('score').innerHTML = output;