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

JavaScriptJavaScriptBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28329{{"Максимальное значение массива на основе функции"}} javascript/data_types -.-> lab-28329{{"Максимальное значение массива на основе функции"}} javascript/arith_ops -.-> lab-28329{{"Максимальное значение массива на основе функции"}} javascript/comp_ops -.-> lab-28329{{"Максимальное значение массива на основе функции"}} javascript/array_methods -.-> lab-28329{{"Максимальное значение массива на основе функции"}} javascript/higher_funcs -.-> lab-28329{{"Максимальное значение массива на основе функции"}} javascript/destr_assign -.-> lab-28329{{"Максимальное значение массива на основе функции"}} javascript/spread_rest -.-> lab-28329{{"Максимальное значение массива на основе функции"}} end

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

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

  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, чтобы улучшить свои навыки.