Найдите симметричное различие между двумя массивами в JavaScript

Цель этой заметки — найти симметричную разницу между двумя массивами в JavaScript, что может быть очень полезно для начинающих.

Мы сравним два массива и вернем новый массив с элементами, которые находятся только в одном из массивов. Другими словами, мы удалим те, которые существуют в обоих массивах.

Мы будем использовать два массива:

const arrayOne = [1, 2, 3, 5];
const arrayTwo = [1, 2, 3, 4, 5];
Вход в полноэкранный режим Выход из полноэкранного режима

Использование Array.prototype.filter()

Метод filter() — это функция, которая создает новый массив и возвращает значение, которое пройдет определенное условие.

План будет выглядеть следующим образом:
a. Сначала мы сравним массив arrayOne с массивом ArrayTwo, используя другой метод includes().
b. Во-вторых, сравним ArrayTwo с ArrayOne, снова используя includes().
c. Затем мы используем третий метод Array.prototype.concat() для объединения результатов первых двух шагов.

Давайте начнем!

const arrayOne = [1, 2, 3, 5];
const arrayTwo = [1, 2, 3, 4, 5];

const stepOne = arrayOne.filter(item => !arrayTwo.includes(item));

const stepTwo = arrayTwo.filter(item => !arrayOne.includes(item));

const symmetricDifference = stepOne.concat(stepTwo);

Вход в полноэкранный режим Выход из полноэкранного режима

Давайте проанализируем, что здесь произошло:

  1. Сначала мы взяли массив arrayOne и использовали метод filter(), который возвращает массив, удовлетворяющий следующему условию: проверить каждый элемент в arrayOne и вернуть только те, которые не включены в arrayTwo.
  2. Затем мы взяли массив arrayTwo и использовали метод filter(), который возвращает массив, удовлетворяющий следующему условию: проверить каждый элемент в arrayTwo и вернуть только те, которые не включены в arrayOne.
  3. Наконец, мы взяли результаты первого и второго шагов, массив элементов массиваOne, которых нет в массивеTwo, и массив элементов массиваTwo, которых нет в массивеOne, и использовали метод concat() для объединения этих двух элементов.

Существует множество других способов сделать это, однако если вы новичок, то это все, что вам нужно, чтобы найти симметричное различие между двумя массивами в JavaScript.

Оцените статью
devanswers.ru
Добавить комментарий