Ранжирование массивов в JavaScript

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

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

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

Введение

В этом лабе мы будем изучать концепцию ранжирования массивов в JavaScript. Цель этого лабара — понять, как вычислять ранжирование массива на основе функции сравнения, используя такие методы, как Array.prototype.map() и Array.prototype.filter(). С помощью практических примеров и упражнений вы лучше поймете, как реализовать эту функциональность в своих собственных проектах на 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/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28152{{"Ранжирование массивов в JavaScript"}} javascript/data_types -.-> lab-28152{{"Ранжирование массивов в JavaScript"}} javascript/arith_ops -.-> lab-28152{{"Ранжирование массивов в JavaScript"}} javascript/comp_ops -.-> lab-28152{{"Ранжирование массивов в JavaScript"}} javascript/higher_funcs -.-> lab-28152{{"Ранжирование массивов в JavaScript"}} end

Ранжирование массивов

Для практики программирования откройте Терминал/SSH и введите node. Эта функция вычисляет ранжирование массива на основе функции сравнения.

Для использования этой функции вы можете:

  • Использовать Array.prototype.map() и Array.prototype.filter(), чтобы сопоставить каждый элемент с рангом с использованием предоставленной функции сравнения.

Вот пример использования:

const ranking = (arr, compFn) =>
  arr.map((a) => arr.filter((b) => compFn(a, b)).length + 1);

Пример:

ranking([8, 6, 9, 5], (a, b) => a < b);
// [2, 3, 1, 4]
ranking(["c", "a", "b", "d"], (a, b) => a.localeCompare(b) > 0);
// [3, 1, 2, 4]

Резюме

Поздравляем! Вы завершили лабу по ранжированию массивов. Вы можете практиковаться в более лабах в LabEx, чтобы улучшить свои навыки.