Как удалить повторяющиеся элементы из массива в JavaScript: методы и примеры

Чтобы удалить повторяющиеся элементы из массива с помощью метода reduce(), вы можете выполнить следующие действия:

  1. Инициализировать пустой массив для хранения уникальных элементов.
  2. Используйте метод reduce()для исходного массива.
  3. В функции редуктора проверьте, существует ли текущий элемент в новом массиве.
  4. Если элемент не существует, добавьте его в новый массив.
  5. Наконец, верните новый массив с уникальными элементами.

Вот пример реализации:

const array = [1, 2, 3, 4, 1, 2, 5, 6, 3];
const uniqueArray = array.reduce((accumulator, currentValue) => {
  if (!accumulator.includes(currentValue)) {
    accumulator.push(currentValue);
  }
  return accumulator;
}, []);
console.log(uniqueArray);

Выход:

[1, 2, 3, 4, 5, 6]

Другие методы удаления дубликатов из массива включают использование Set, filter(), indexOf()и forEach( ).

Использование Set:

const array = [1, 2, 3, 4, 1, 2, 5, 6, 3];
const uniqueArray = [...new Set(array)];
console.log(uniqueArray);

Использование filter()и indexOf():

const array = [1, 2, 3, 4, 1, 2, 5, 6, 3];
const uniqueArray = array.filter((value, index, self) => self.indexOf(value) === index);
console.log(uniqueArray);

Использование forEach()и пустого объекта:

const array = [1, 2, 3, 4, 1, 2, 5, 6, 3];
const uniqueArray = [];
const obj = {};
array.forEach(item => {
  if (!obj[item]) {
    obj[item] = true;
    uniqueArray.push(item);
  }
});
console.log(uniqueArray);