Только начинаю.... получать боль.:()

/*
В переменной data хранится такой массив:
[
  {name: "Саша", age: 19},
  {name: "Катя", age: 21},
  {name: "Миша", age: 17},
  {name: "Федя", age: 23},
  {name: "Клава", age: 22}
]
*/

function calcAvgAge(array) {
  // Напишите код здесь
}

Помогите решить, я не могу понять, как взять значение из обЪекта data.age! Вообщем тут нужно посчитать средний


Ответы (1 шт):

Автор решения: entithat

Вам надо пройтись по каждому элементу массива, при этом сохраняя сумму возврастов.

сумма = 0
Для каждого человека сделать:
   к сумме прибавить человек.возраст
После сумму поделить на общее кол-во человек

const data = [
  {name: "Саша", age: 19},
  {name: "Катя", age: 21},
  {name: "Миша", age: 17},
  {name: "Федя", age: 23},
  {name: "Клава", age: 22}
];

function calcAvgAge(array) {
  let sum = 0;
  for (const person of array) {
    sum += person.age;
  }
  return sum / array.length;
}

console.log(calcAvgAge(data));

Если красиво, то:

const a = [
  {name: "Саша", age: 19},
  {name: "Катя", age: 21},
  {name: "Миша", age: 17},
  {name: "Федя", age: 23},
  {name: "Клава", age: 22}
];

console.log(a.reduce((ac,c)=>ac+=c.age,0)/a.length);

→ Ссылка