JSFiddle - React, Tailwind, and code Playground
JavaScript
const soldiers = [
{
name: "John",
shooting: 95,
combat: 50,
tactic: 88
},
{
name: "Arnold",
shooting: 97,
combat: 72,
tactic: 68
},
{
name: "William",
shooting: 87,
combat: 86,
tactic: 97
}
];
const filteredSoldiers = soldiers
.filter(soldier => soldier.combat > 60) // Find every soldier where combat is higher than 60
.map(soldier => {
return {
name: soldier.name,
average: (soldier.combat + soldier.tactic + soldier.shooting) / 3
};
// map will return an array with the filtered soldiers, and we put their average and their name in there
})
.sort((a, b) => b.average - a.average);
// Lastly we sort them high to low by their average score
console.log(
filteredSoldiers.length > 0 ? filteredSoldiers[0].name : 'No soldiers with combat score higher thn 60'
);