Помогите создать функцию которая считает среднюю оценку из массива в JS
Не получается сделать функцию которая считает среднюю оценку из массива. Попытался сделать это через разные методы, но к сожалению почему-то не выходит.
Задача такова: Создать функцию которая считает среднюю оценку и выводит имя и среднюю оценку для каждого элемента массива.
Вот массив:
let studentList= [
{name: "Ivan", marks: [8,7,6,5,8]},
{name: "Adrian", marks: [9,8,8,7,8]},
{name: "Andrei", marks: [6,8,9,7,7]},
{name: "Alex", marks: [10,9,9,8,10]},
{name: "Maxim", marks: [4,5,7,7,6]}
]
Вот что получилось у меня:
let marksSum = 0;
let length = studentList.length;
var result = studentList.reduce(function(marksSum, current){
return marksSum + current;
});
console.log(result/length);
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
let studentList = [
{name: "Ivan", marks: [8,7,6,5,8]},
{name: "Adrian", marks: [9,8,8,7,8]},
{name: "Andrei", marks: [6,8,9,7,7]},
{name: "Alex", marks: [10,9,9,8,10]},
{name: "Maxim", marks: [4,5,7,7,6]}
];
let averages = studentList.map(s => {
return {
name: s.name,
av: s.marks.reduce((a, i) => a + i) / s.marks.length
};
});
console.log(averages);