Введение
В этом практическом занятии мы изучим концепцию сопоставления и уменьшения массивов в JavaScript. В частности, мы узнаем, как использовать функцию averageBy() для вычисления среднего значения массива после сопоставления каждого элемента с определенным значением с использованием заданной функции. С помощью практических упражнений и примеров мы углубим наше понимание этих мощных методов массивов и того, как их можно использовать для упрощения нашего кода.
Инструкции по вычислению среднего значения сопоставленного массива
Для вычисления среднего значения массива вы можете сопоставить каждый элемент с новым значением с использованием заданной функции. Вот шаги:
- Откройте Терминал/SSH и введите
node, чтобы начать практиковаться в написании кода. - Используйте
Array.prototype.map(), чтобы сопоставить каждый элемент со значением, возвращаемым функциейfn. - Используйте
Array.prototype.reduce(), чтобы добавить каждое сопоставленное значение к накапливающемуся значению, инициализированному значением0. - Разделите полученный массив на его длину, чтобы получить среднее значение.
Вот код, который вы можете использовать:
const averageBy = (arr, fn) =>
arr
.map(typeof fn === "function" ? fn : (val) => val[fn])
.reduce((acc, val) => acc + val, 0) / arr.length;
Вы можете протестировать эту функцию с использованием следующих примеров:
averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], (o) => o.n); // 5
averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], "n"); // 5
Резюме
Поздравляем! Вы завершили практическое занятие по вычислению среднего значения сопоставленного массива. Вы можете выполнить больше практических заданий в LabEx, чтобы улучшить свои навыки.