AnyCompiler

Sets

Un Set es una colección con una sola regla que la define: todos sus valores son únicos. Si añades un duplicado no pasa nada — ya estaba ahí.

let numbers = new Set([1, 2, 3, 2, 1]);
console.log(numbers);

numbers.add(4);
console.log(numbers);

console.log(numbers.has(2));
console.log(numbers.size);
Output
Set { 1, 2, 3 }
Set { 1, 2, 3, 4 }
true
4

new Set([1, 2, 3, 2, 1]) se reduce a solo tres valores únicos en el momento en que se crea. has() comprueba si algo pertenece al set, y size (no length) te da el conteo.

Convertir entre Set y array

Los sets no tienen métodos de array como map() o filter() directamente — conviértelos con la sintaxis de propagación [...set] cuando los necesites.

let unique = [...new Set([1, 1, 2, 2, 3])];
console.log(unique);
Output
[ 1, 2, 3 ]

Esto es genuinamente útil, no una curiosidad: eliminar duplicados de un array es exactamente este patrón — envuélvelo en un Set para eliminar duplicados, y luego vuelve a expandirlo en un array normal.

Siguiente: sentencias condicionales — hacer que tu código realmente se bifurque según un valor.

Ejercicio de práctica

Crea numbers = new Set([1, 2, 2, 3, 3, 3]). Imprime numbers.size, y luego imprime si numbers tiene el valor 2 usando numbers.has(2).