У меня есть следующий объект ниже. Он содержит массив объектов. Каждый объект является супергероем, который содержит подробную информацию о супергерое.
const superheroes = [
{
name: 'Bruce Wayne',
alias: 'Batman',
powerLevel: 50,
universe: 'DC Comics',
race: 'Human',
},
{
name: 'Wade Wilson',
alias: 'Deadpool',
powerLevel: 90,
universe: 'Marvel Comics',
race: 'Mutant',
},
{
name: 'Peter Parker',
alias: 'Spiderman',
powerLevel: 70,
universe: 'Marvel Comics',
race: 'Human',
},
{
name: 'Kristin Wells',
alias: 'Superwoman',
powerLevel: 99,
universe: 'DC Comics',
race: 'Kryptonian',
},
{
name: 'Barry Allen',
alias: 'The Flash',
powerLevel: 80,
universe: 'DC Comics',
race: 'Human',
},
{
name: 'Diana Prince',
alias: 'Wonder Woman',
powerLevel: 90,
universe: 'DC Comics',
race: 'Human',
},
{
name: 'Ororo Munroe',
alias: 'Storm',
powerLevel: 85,
universe: 'Marvel Comics',
race: 'Mutant',
},
{
name: 'Helen Parr',
alias: 'Elastigirl',
powerLevel: 70,
universe: 'Dark Horse Comics',
race: 'Human',
},
];
Я хочу найти средний уровень мощности всех супергероев.
Я попробовал код ниже:
function powerLevelAverage(obj){
let sum = 0;
let objCount = 0;
return obj.reduce((accumulator, element) => {
objCount += 1;
console.log(objCount)
sum = accumulator + element.powerLevel
return sum;
}, 0)
return Math.round(sum/objCount);
}
const averagePowerLevel = powerLevelAverage(superheroes);
averagePowerLevel
Код, по-видимому, возвращает сумму 634, но не возвращает среднее значение. Что я делаю неправильно?
Примечание: я хочу использовать функцию уменьшения модификации для решения этой проблемы.