Menu
Coddy logo textTech

Математика — Симметрическая разность

Часть раздела Логика и поток путешествия по JavaScript на Coddy — урок 39 из 65.

Симметрическая разность двух множеств A и B — это новое множество, которое содержит элементы, находящиеся либо в A, либо в B, но не в обоих одновременно. Ее можно представить как объединение A - B и B - A.

Например:

const set1 = new Set(arr1);
const set2 = new Set(arr2);

// Создаем симметрическую разность
const symmetricDiff = new Set([
  ...set1.difference(set2),
  ...set2.difference(set1)
]);

// Преобразуем обратно в массив
const result = Array.from(symmetricDiff);
challenge icon

Задание

Легко

Создайте функцию с названием efficientSymmetricDifference, которая принимает два массива в качестве параметров: arr1 и arr2. Функция должна преобразовать массивы в множества. Создайте новый Set, который является симметрической разностью двух входных множеств, преобразуйте его в массив и верните этот массив.

Шпаргалка

Симметрическая разность двух множеств содержит элементы, которые присутствуют в одном из множеств, но не в обоих сразу. Это объединение A - B и B - A. Например:

// Преобразование массивов в множества
const set1 = new Set(arr1);
const set2 = new Set(arr2);

// Создание симметрической разности
const symmetricDiff = new Set([
  ...set1.difference(set2),
  ...set2.difference(set1)
]);

// Преобразование обратно в массив
const result = Array.from(symmetricDiff);

Попробуйте сами

function efficientSymmetricDifference(arr1, arr2) {
    const set1 = new Set(arr1)
    const set2 = new Set(arr2)
    const symDiff = new Set();
    // Напишите свой код здесь


    return Array.from(symDiff);

}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и поток