Не могу выполнить упражнение по JS связанный с методами, обьектами и массивами

Наткнулся на упражнение в книге "Выразительный JS". Уже долго не получается его решить. Вот условия:

Используя набор данных, подсчитайте среднюю разницу в возрасте между матерями и их детьми (это возраст матери во время появления ребёнка). Обратите внимание – не все матери, упомянутые в наборе, присутствуют в нём.

var ancestry = JSON.parse(ANCESTRY_FILE);

При выполнении акцент должен быть на методах массивов.


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

Автор решения: Avejant
  1. Для начала из исходного массива нужно получить массив, содержащий разницу между возрастом человека и его матери. Для этого для каждого человека находим в исходном массиве мать для текущего человека (используя фильтрацию по имени матери). Вычисляем разницу между годами рождения и возвращаем ее. Если мать не нашли, то возвращаем вместо числа с разницей null.
  2. Для массива полученного на предыдущем шаге: фильтруем, отбрасывая те элементы массива, которые равны null.
  3. Считаем сумму элементов отфильтрованного массива.
  4. Делим результат предыдущего шага на длину отфильтрованного массива.

Еще одна подсказка: использовать надо следующие функции Array: filter, map, reduce. Надеюсь, теперь вам будет понятнее, как решить задачу.

→ Ссылка