Получите все уникальные значения в массиве JavaScript (удалите дубликаты)

Получите все уникальные значения в массиве JavaScript (удалите дубликаты)

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

1. Метод filter() и indexOf()

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

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

2. Метод Set

Метод Set – это новая структура данных в JavaScript, которая позволяет хранить только уникальные значения. Мы можем преобразовать массив в Set и затем обратно в массив, чтобы получить только уникальные значения.

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

3. Метод reduce() и includes()

Метод reduce() позволяет преобразовать массив в одно значение. Мы можем использовать метод includes() внутри reduce(), чтобы проверить, есть ли элемент в результирующем массиве.

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

4. Метод forEach() и объект

Метод forEach() позволяет выполнить функцию для каждого элемента массива. Мы можем использовать объект для отслеживания уникальных значений и создания нового массива.

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

5. Метод filter() и includes()

Метод filter() может быть использован с методом includes() для фильтрации уникальных значений из массива.

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

6. Метод reduce() и объект

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

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

7. Метод map() и объект

Метод map() позволяет создать новый массив, применяя функцию к каждому элементу исходного массива. Мы можем использовать объект для отслеживания уникальных значений.

const array = [1, 2, 3, 4, 4, 5, 6, 6];
const uniqueArray = [];
const uniqueObject = {};
array.map(value => {
  if (!uniqueObject[value]) {
    uniqueObject[value] = true;
    uniqueArray.push(value);
  }
});
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]

8. Метод filter() и Set

Метод filter() может быть использован с методом has() объекта Set для фильтрации уникальных значений.

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

9. Метод map() и Set

Метод map() может быть использован с методом has() объекта Set для создания нового массива с уникальными значениями.

const array = [1, 2, 3, 4, 4, 5, 6, 6];
const uniqueArray = [];
const uniqueSet = new Set();
array.map(value => {
  if (!uniqueSet.has(value)) {
    uniqueSet.add(value);
    uniqueArray.push(value);
  }
});
console.log(uniqueArray); // [1, 2, 3, 4, 5, 6]

10. Метод filter() и объект

Метод filter() может быть использован с объектом для фильтрации уникальных значений.

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

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

Читайте так же  Как сравнивать массивы в JavaScript: полезные советы и примеры кода