Проверяет знание методов работы с массивами и умение удалять дубликаты в JavaScript.
В JavaScript существует несколько способов получить уникальный массив из массива с повторяющимися элементами. Наиболее популярный и лаконичный — использование объекта Set, который хранит только уникальные значения.
Конструктор Set принимает итерируемый объект (например, массив) и создает коллекцию уникальных значений. Затем с помощью spread-оператора ... или Array.from() преобразуем Set обратно в массив.
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = [...new Set(arr)];
console.log(uniqueArr); // [1, 2, 3, 4, 5]Метод filter позволяет отфильтровать элементы, оставляя только те, индекс которых совпадает с первым вхождением в массиве.
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = arr.filter((item, index) => arr.indexOf(item) === index);
console.log(uniqueArr); // [1, 2, 3, 4, 5]Метод reduce позволяет собрать уникальные значения в аккумулятор, проверяя наличие элемента.
const arr = [1, 2, 2, 3, 4, 4, 5];
const uniqueArr = arr.reduce((acc, item) => {
if (!acc.includes(item)) acc.push(item);
return acc;
}, []);
console.log(uniqueArr); // [1, 2, 3, 4, 5]Для простых случаев с примитивными типами данных лучше всего использовать Set — это быстро и читаемо. Если нужна поддержка сложных объектов или особая логика сравнения, стоит применять filter или reduce с кастомной функцией сравнения.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию