Получить уникальные элементы массива в обратном порядке с использованием JavaScript

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

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

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

Введение

В этом практическом занятии мы изучим, как использовать функцию uniqueElementsByRight() в JavaScript для нахождения обратных уникальных значений массива на основе предоставленной функции сравнения. Мы узнаем, как использовать методы Array.prototype.reduceRight() и Array.prototype.some() для создания массива, содержащего только последнее уникальное вхождение каждого значения на основе предоставленной функции сравнения. В конце этого практического занятия вы будете лучше понимать, как манипулировать массивами в JavaScript с использованием этих методов.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic 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/cond_stmts("Conditional Statements") javascript/BasicConceptsGroup -.-> javascript/obj_manip("Object Manipulation") subgraph Lab Skills javascript/variables -.-> lab-28338{{"Получить уникальные элементы массива в обратном порядке с использованием JavaScript"}} javascript/data_types -.-> lab-28338{{"Получить уникальные элементы массива в обратном порядке с использованием JavaScript"}} javascript/arith_ops -.-> lab-28338{{"Получить уникальные элементы массива в обратном порядке с использованием JavaScript"}} javascript/comp_ops -.-> lab-28338{{"Получить уникальные элементы массива в обратном порядке с использованием JavaScript"}} javascript/cond_stmts -.-> lab-28338{{"Получить уникальные элементы массива в обратном порядке с использованием JavaScript"}} javascript/obj_manip -.-> lab-28338{{"Получить уникальные элементы массива в обратном порядке с использованием JavaScript"}} end

Функция для нахождения обратных уникальных значений в массиве

Чтобы найти все уникальные значения массива на основе предоставленной функции сравнения с правой стороны, следуйте этим шагам:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
  2. Используйте Array.prototype.reduceRight() и Array.prototype.some() для создания массива, содержащего только последнее уникальное вхождение каждого значения, на основе функции сравнения fn.
  3. Функция сравнения принимает два аргумента: значения двух элементов, которые сравниваются.
  4. Вот код для реализации функции:
const uniqueElementsByRight = (arr, fn) =>
  arr.reduceRight((acc, v) => {
    if (!acc.some((x) => fn(v, x))) acc.push(v);
    return acc;
  }, []);
  1. Используйте следующий код для тестирования функции:
uniqueElementsByRight(
  [
    { id: 0, value: "a" },
    { id: 1, value: "b" },
    { id: 2, value: "c" },
    { id: 1, value: "d" },
    { id: 0, value: "e" }
  ],
  (a, b) => a.id == b.id
); // [ { id: 0, value: 'e' }, { id: 1, value: 'd' }, { id: 2, value: 'c' } ]

Резюме

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