Уникальная симметрическая разность массивов

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

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

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

Введение

В этом практическом занятии мы изучим концепцию нахождения уникальной симметрической разности между двумя массивами на JavaScript. Мы будем использовать методы Array.prototype.filter() и Array.prototype.includes() для удаления дублирующихся значений из каждого массива, а затем создадим Set из результатов, чтобы получить окончательный вывод. Эта задача поможет вам лучше понять манипуляции с массивами и структуру данных Set в 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") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28162{{"Уникальная симметрическая разность массивов"}} javascript/data_types -.-> lab-28162{{"Уникальная симметрическая разность массивов"}} javascript/arith_ops -.-> lab-28162{{"Уникальная симметрическая разность массивов"}} javascript/comp_ops -.-> lab-28162{{"Уникальная симметрическая разность массивов"}} javascript/higher_funcs -.-> lab-28162{{"Уникальная симметрическая разность массивов"}} javascript/spread_rest -.-> lab-28162{{"Уникальная симметрическая разность массивов"}} end

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

Для практики программирования откройте Терминал/SSH и введите node. Следующая функция возвращает уникальную симметрическую разность между двумя массивами. Она удаляет дублирующиеся значения из любого из массивов.

Для этого используйте Array.prototype.filter() и Array.prototype.includes() для каждого массива, чтобы удалить значения, содержащиеся в другом. Создайте Set из результатов, чтобы удалить дублирующиеся значения.

const uniqueSymmetricDifference = (a, b) => [
  ...new Set([
    ...a.filter((v) => !b.includes(v)),
    ...b.filter((v) => !a.includes(v))
  ])
];

Используйте функцию, как показано ниже:

uniqueSymmetricDifference([1, 2, 3], [1, 2, 4]); // [3, 4]
uniqueSymmetricDifference([1, 2, 2], [1, 3, 1]); // [2, 3]

Резюме

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