Эффективные способы объединения массивов без дубликатов в JavaScript

Объединение массивов — распространенная задача при разработке JavaScript, и часто необходимо убедиться, что полученный массив не содержит дубликатов. В этой статье блога мы рассмотрим несколько методов объединения массивов и устранения дубликатов. Мы предоставим примеры кода и объясним каждый метод в разговорной форме, чтобы его было легче понять. Давайте погрузимся!

Метод 1: использование структуры данных Set
Структура данных Set — это встроенная функция JavaScript, которая позволяет хранить уникальные значения. Преобразовав объединенный массив в Set, а затем обратно в массив, мы можем легко исключить повторяющиеся элементы. Вот пример:

const array1 = [1, 2, 3];
const array2 = [3, 4, 5];
const mergedArray = [...new Set([...array1, ...array2])];
console.log(mergedArray);

Метод 2: использование метода Array.filter()
Метод Array.filter() — это мощный инструмент для управления массивами в JavaScript. Мы можем использовать его для фильтрации повторяющихся элементов из объединенного массива. Вот как мы можем это сделать:

const array1 = [1, 2, 3];
const array2 = [3, 4, 5];
const mergedArray = array1.concat(array2).filter((value, index, self) => {
  return self.indexOf(value) === index;
});
console.log(mergedArray);

Метод 3: использование метода Array.reduce()
Метод Array.reduce() позволяет нам свести массив к одному значению. В этом случае мы можем использовать его для объединения массивов и устранения дубликатов. Вот пример:

const array1 = [1, 2, 3];
const array2 = [3, 4, 5];
const mergedArray = array1.concat(array2).reduce((uniqueArray, item) => {
  if (!uniqueArray.includes(item)) {
    uniqueArray.push(item);
  }
  return uniqueArray;
}, []);
console.log(mergedArray);