Максимальное значение массива на основе функции

Beginner

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

Введение

В этом практическом занятии мы углубимся в задачу программирования на JavaScript, где нам предстоит создать функцию, которая возвращает максимальное значение массива, после того, как каждый элемент будет отображён в значение с использованием предоставленной функции. Используя Array.prototype.map() и Math.max(), мы сможем эффективно выполнить эту задачу и лучше понять эти важные методы JavaScript.

Как найти максимальное значение массива на основе функции

Для нахождения максимального значения массива на основе функции следуйте этим шагам:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
  2. Используйте Array.prototype.map(), чтобы сопоставить каждый элемент массива со значением, возвращаемым предоставленной функцией fn.
  3. Используйте 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, чтобы улучшить свои навыки.