Введение
В этом лабе мы будем изучать концепцию суммы элементов массива, полученную с использованием отображения. Цель лабы - предоставить глубокое понимание того, как вычислить сумму элементов массива, отобразив каждый элемент на значение с использованием заданной функции. В конце этого лабы ученики смогут использовать 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, чтобы улучшить свои навыки.