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