JavaScript ES6 introdujo una nueva estructura de datos llamada 'Set'. Un 'Set' en JavaScript es una colección de valores que pueden ser de cualquier tipo y que son únicos. Esto significa que un valor específico solo puede ocurrir una vez en un Set, independientemente del tipo de dato.
Crear un Set es simple:
let mySet = new Set();
Para agregar valores a un Set, usamos el método add
.
mySet.add(1); // Set [ 1 ]
mySet.add(2); // Set [ 1, 2 ]
mySet.add(3); // Set [ 1, 2, 3 ]
¿Y si intentamos agregar un valor que ya está en el Set?
mySet.add(2); // Set [ 1, 2, 3 ]
El Set sigue siendo [1, 2, 3]
, lo cual indica que un Set solo almacena valores únicos.
Una aplicación práctica de los Sets en JavaScript puede ser la eliminación de duplicados de un array. Dado que un Set no permite duplicados, podemos convertir el array en Set y luego volver a convertirlo en un array.
let duplicateArray = [1, 2, 2, 3, 3, 3];
let uniqueArray = [...new Set(duplicateArray)]; // [1, 2, 3]
Es importante tener en cuenta que los Sets no son iguales a los arrays u objetos. No tienen acceso a métodos como pop
, push
, unshift
, shift
, o cualquier método que cambie la longitud del Set. Pero los Sets tienen sus propios métodos útiles como add
, delete
, clear
y has
.
Además, los valores de un Set se iteran en orden de inserción, lo que puede ser útil para ciertas situaciones.
En resumen, los Sets son una adición poderosa y flexible a JavaScript que extendió sus capacidades para manejar colecciones de datos.