Проверяет понимание итерируемости коллекции Set в JavaScript и умения использовать её напрямую в циклах и spread-операторе.
Set в JavaScript — это коллекция уникальных значений, которая реализует протокол итерации. Это значит, что у объекта есть метод Symbol.iterator, и его можно использовать напрямую в конструкциях, ожидающих итерируемый объект, без промежуточного преобразования в массив.
for...of — самый естественный способ обхода.[...set] — разворачивает элементы в массив или в аргументы функции.set.forEach(callback) — встроенный обход.const [first, second] = set;Array.from(set) — тоже работает, но это уже преобразование.const tags = new Set(['js', 'react', 'node']);
// for...of
for (const tag of tags) {
console.log(tag); // js, react, node
}
// spread в массив
const arr = [...tags]; // ['js', 'react', 'node']
// forEach
tags.forEach(tag => console.log(tag));
// деструктуризация
const [first, second] = tags;
console.log(first, second); // js react
Set не имеет методов map, filter, reduce, sort. Если нужна такая обработка, придётся преобразовать: [...set].map(...). Но для простого перебора или проверки наличия через has преобразование не требуется.
Итог: Set итерируется напрямую, и это стоит использовать для обхода и дедупликации, а преобразование в массив применять только когда нужны методы массива.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию