Загрузка…
Загрузка…
JavaScript · junior · сложность 1
Set хранит уникальные значения. Часто нужно снова получить обычный массив — для .map, JSON, API или библиотеки, которая ждёт Array.
const set = new Set([1, 2, 2, 3]);
// 1) spread — самый привычный
const a = [...set]; // [1, 2, 3]
// 2) Array.from
const b = Array.from(set); // [1, 2, 3]
// 3) ручной обход (редко нужен)
const c = [];
set.forEach((v) => c.push(v));Array.from удобен, если сразу маппите:
Array.from(set, (x) => x * 2); // [2, 4, 6]const unique = [...new Set([1, 1, 2, 3])]; // дедуп массиваSet — порядок вставки; после преобразования порядок обычно сохраняется.Set сравниваются по ссылке, не по содержимому.JSON.stringify(set) даст {} — поэтому перед сериализацией почти всегда делают массив.На собеседовании достаточно [...set] или Array.from(set) и понимания, зачем: уникальность vs контракт массива. Если дальше идёт сеть/стор — помните про сериализацию.
Итог: Set → массив через spread или Array.from; обратно — new Set(array) для уникальных значений.