Счет не изменяется после того, как вы найдете самый высокий балл. Измените счет на текущий счет. Благодарю. Вместо объекта с картой используйте объект с индексом (массив). Это должно работать.
function theScore (students) {
var obj = [];
score = 0;
for(i of students){
if(obj.length === 0) {
obj.push( i );
} else {
for( var x = 0; x < obj.length; x++ ){
if( i.score > obj[x].score ){
obj.splice( x, 0, i );
break;
}
}
if( x === obj.length ){
obj.push(i);
}
}
};
return obj;
};
console.log(theScore([
{
name: 'Sara',
score: 90,
class: 'A'
},
{
name: 'Poyi',
score: 85,
class: 'B'
},
{
name: 'Adert',
score: 74,
class: 'A'
},
{
name: 'Shynta',
score: 78,
class: 'B'
}
]));