Curso javascript nivel medio

En JavaScript, un Set es una colección de valores únicos, lo que significa que no puede contener valores duplicados. Esto es útil cuando necesitas almacenar una lista de elementos y asegurarte de que cada uno aparezca solo una vez.

¿Qué es un Set?

Un Set es un tipo de colección que te permite almacenar cualquier tipo de valor, como números, cadenas de texto, objetos, y más, pero solo almacena valores únicos.

Ejemplo básico de un Set:

1let numeros = new Set([1, 2, 3, 3, 4]);
2console.log(numeros); // Muestra {1, 2, 3, 4}, sin duplicados
Salida de Consola!:
Set(4) { 1, 2, 3, 4 }

En este ejemplo:

  • Aunque se intenta agregar dos veces el número 3, solo se mantiene una copia de él en el Set.

¿Cómo se crea un Set?

Puedes crear un Set usando el constructor Set(), que puede tomar un array o cualquier otro iterable como argumento.

Ejemplo:

1let miSet = new Set(); // Crea un Set vacío
2
3miSet.add(1); // Agrega el valor 1
4miSet.add(5); // Agrega el valor 5
5miSet.add(1); // Intento de agregar el valor 1 otra vez, no se duplica
6
7console.log(miSet); // Muestra {1, 5}
Salida de Consola!:
Set(2) { 1, 5 }

Métodos y propiedades de los Set

  1. add():

    • Agrega un nuevo valor al Set.
    • Ejemplo:
      1let miSet = new Set([1, 5]); // Crea un Set con valores iniciales
      2miSet.add(10);
      3console.log(miSet); // Muestra {1, 5, 10}
      Salida de Consola!:
      Set(3) { 1, 5, 10 }
  2. delete():

    • Elimina un valor específico del Set.
    • Ejemplo:
      1let miSet = new Set([1, 5, 20]); // Crea un Set con valores iniciales
      2miSet.delete(5);
      3console.log(miSet); // Muestra {1, 20}
      Salida de Consola!:
      Set(2) { 1, 20 }
  3. has():

    • Verifica si un valor existe en el Set.
    • Ejemplo:
      1let miSet = new Set([1, 10]); // Crea un Set con valores iniciales
      2console.log(miSet.has(10)); // true
      3console.log(miSet.has(5));  // false
      Salida de Consola!:
      true
      false
  4. clear():

    • Elimina todos los valores del Set.
    • Ejemplo:
      1let miSet = new Set([1, 10]); // Crea un Set con valores iniciales
      2miSet.clear();
      3console.log(miSet); // Muestra un Set vacío {}
      Salida de Consola!:
      Set(0) {}
  5. size:

    • Devuelve el número de elementos en el Set.
    • Ejemplo:
      1let frutas = new Set(["🍎 Manzana", "🍊 Naranja", "🍒 Cereza"]);
      2console.log(frutas.size); // Muestra 3
      Salida de Consola!:
      3

Iteración sobre un Set

Puedes usar varias formas de iterar sobre los elementos de un Set.

  1. forEach():

    • Ejecuta una función para cada valor en el Set.
    • Ejemplo:
      1let frutas = new Set(["🍎 Manzana", "🍊 Naranja", "🍒 Cereza"]);
      2
      3frutas.forEach((fruta) => {
      4  console.log(fruta);
      5});
      6// Muestra "Manzana", "Banana", "Cereza"
      Salida de Consola!:
      🍎 Manzana
      🍊 Naranja
      🍒 Cereza
  2. for...of:

    • También puedes usar el bucle for...of para iterar sobre los valores.
    • Ejemplo:
      1let frutas = new Set(["🍎 Manzana", "🍊 Naranja", "🍒 Cereza"]);
      2
      3for (let fruta of frutas) {
      4  console.log(fruta);
      5}
      6// Muestra "Manzana", "Banana", "Cereza"
      Salida de Consola!:
      🍎 Manzana
      🍊 Naranja
      🍒 Cereza

Diferencias entre Set y Arrays

Aunque los Set y los arrays son colecciones de valores, hay algunas diferencias clave:

  • Valores únicos: Un Set no permite valores duplicados, mientras que los arrays sí.
  • Orden: Los elementos de un Set no tienen un índice (no puedes acceder a un elemento por su posición como en un array).
  • Métodos: Los Set tienen métodos específicos como add(), has(), y delete() que no están disponibles en los arrays.

Ejemplo de comparación:

1let array = [1, 2, 2, 3];
2let set = new Set([1, 2, 2, 3]);
3
4console.log(array); // Muestra [1, 2, 2, 3], con duplicados
5console.log(set);   // Muestra {1, 2, 3}, sin duplicados
Salida de Consola!:
[ 1, 2, 2, 3 ]
Set(3) { 1, 2, 3 }

Resumen

  • Un Set es una colección de valores únicos, lo que significa que no puedes tener duplicados.
  • Puedes agregar, eliminar, y verificar la existencia de valores usando métodos como add(), delete(), y has().
  • Los Set son útiles cuando necesitas almacenar una lista de elementos y asegurarte de que no se repitan.
  • Aunque se parecen a los arrays, los Set no tienen índices y garantizan que todos los valores sean únicos.

Los Set son una herramienta poderosa en JavaScript para manejar colecciones de datos donde la unicidad es importante.

  • Loading...
  • Objetivo:

    Crea un Set que contenga 3 elementos únicos. Luego, muestra por consola el tamaño del Set.

    Instrucciones:

    1. Crea un Set llamado set.
    2. Añade 3 elementos únicos al Set.
    3. Muestra por consola el tamaño del Set.
    Loading...