Не могу выполнить упражнение по JS связанный с методами, обьектами и массивами
Наткнулся на упражнение в книге "Выразительный JS". Уже долго не получается его решить. Вот условия:
Используя набор данных, подсчитайте среднюю разницу в возрасте между матерями и их детьми (это возраст матери во время появления ребёнка). Обратите внимание – не все матери, упомянутые в наборе, присутствуют в нём.
var ancestry = JSON.parse(ANCESTRY_FILE);
При выполнении акцент должен быть на методах массивов.
Ответы (1 шт):
Автор решения: Avejant
→ Ссылка
- Для начала из исходного массива нужно получить массив, содержащий разницу между возрастом человека и его матери. Для этого для каждого человека находим в исходном массиве мать для текущего человека (используя фильтрацию по имени матери). Вычисляем разницу между годами рождения и возвращаем ее. Если мать не нашли, то возвращаем вместо числа с разницей null.
- Для массива полученного на предыдущем шаге: фильтруем, отбрасывая те элементы массива, которые равны
null. - Считаем сумму элементов отфильтрованного массива.
- Делим результат предыдущего шага на длину отфильтрованного массива.
Еще одна подсказка: использовать надо следующие функции Array: filter, map, reduce.
Надеюсь, теперь вам будет понятнее, как решить задачу.