Сумма элементов массива, полученных с использованием отображения

Beginner

This tutorial is from open-source community. Access the source code

Введение

В этом лабе мы будем изучать концепцию суммы элементов массива, полученную с использованием отображения. Цель лабы - предоставить глубокое понимание того, как вычислить сумму элементов массива, отобразив каждый элемент на значение с использованием заданной функции. В конце этого лабы ученики смогут использовать Array.prototype.map() и Array.prototype.reduce() для реализации суммы элементов массива, полученной с использованием отображения, в своих проектах на JavaScript.

Функция для вычисления суммы элементов массива, полученных с использованием отображения

Для вычисления суммы элементов массива, отобразив каждого элемента на значение с использованием заданной функции, используйте функцию sumBy. Эта функция использует Array.prototype.map() для отображения каждого элемента на значение, возвращаемое fn. Затем она использует Array.prototype.reduce() для добавления каждого значения к накапливающемуся значению, которое инициализируется значением 0.

const sumBy = (arr, fn) =>
  arr
    .map(typeof fn === "function" ? fn : (val) => val[fn])
    .reduce((acc, val) => acc + val, 0);

Пример использования:

sumBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], (x) => x.n); // Возвращает 20
sumBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], "n"); // Возвращает 20

Для начала практики программирования с этой функцией откройте Терминал/SSH и введите node.

Резюме

Поздравляем! Вы завершили лабу по сумме элементов массива, полученных с использованием отображения. Вы можете практиковаться в более лабах в LabEx, чтобы улучшить свои навыки.