Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

Comprensión de conjuntos en JavaScript

Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Los conjuntos son un nuevo complemento de JavaScript en ES6. Aprendamos sobre esto.

¿Qué son los conjuntos?

¿Cómo usarlos en JavaScript?

¿Y qué métodos proporciona para resolver problemas?

Averigüemos las respuestas a todas las consultas en este tutorial.

Sets

Como su nombre indica, un conjunto es una colección de elementos únicos. No almacena los valores repetidos.

Los conjuntos en JavaScript almacenarán los elementos en el orden de inserción. Entonces, están ordenados en JavaScript. Y almacenará tipos de datos u objetos primitivos.

Veamos la sintaxis de los conjuntos en JavaScript.

espero que tengas IDE para practicar lo siguiente.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);
console.log(names);

const randomWord = new Set("Hiiiiiii");
console.log(randomWord);

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

Propiedades y métodos

Los conjuntos tienen diferentes propiedades y métodos que nos ayudan a trabajar con ellos para resolver diferentes problemas. Las propiedades y los métodos son tan simples como crearlos. Puede obtener fácilmente la funcionalidad de los métodos con sus propios nombres. Veámoslos uno por uno.

size

La propiedad size devuelve el número de elementos presentes en el conjunto.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);
console.log(`Size: ${names.size}`);

add

El método add se utiliza para agregar un nuevo elemento al conjunto. Si el nuevo elemento ya está presente en el conjunto, no lo agregará.

// empty set
const names = new Set();

names.add("John");
names.add("Harry");
names.add("Wick");
names.add("Jack");
names.add("Harry");

console.log(names);

has

El método has toma un argumento y regresa true si el elemento está presente en el conjunto de lo contrario, regresa false.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

console.log(names.has("Harry"));
console.log(names.has("Alley"));

delete

Como esperas el método delete toma un argumento y lo elimina del conjunto. No arroja ningún error incluso si el argumento dado no está presente en el conjunto.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

names.delete("John");

console.log(names);

entries

El método entries devuelve un iterador que contiene matrices de pares clave-valor en el orden de inserción. Aquí, la clave y el valor son los mismos.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

const entries = names.entries();

console.log(entries.next().value);
console.log(entries.next().value);
console.log(entries.next().value);
console.log(entries.next().value);
console.log(entries.next().value);

keys

El método keys devuelve un iterador de elementos de conjunto en el orden de inserción.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

const keys = names.keys();

console.log(keys.next().value);
console.log(keys.next().value);
console.log(keys.next().value);
console.log(keys.next().value);
console.log(keys.next().value);

values

El método values devuelve un iterador de elementos del conjunto en el orden de inserción similar al método keys.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

const values = names.values();

console.log(values.next().value);
console.log(values.next().value);
console.log(values.next().value);
console.log(values.next().value);
console.log(values.next().value);

clear

El método clear elimina todos los elementos del conjunto.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

names.clear();

console.log(names);

forEach

El método forEach se usa para iterar sobre el conjunto y obtener todos los elementos uno por uno.

const names = new Set(["John", "Harry", "Wick", "Jack", "Harry"]);

names.forEach((element) => {
   console.log(element);
});

Misceláneo

Veamos una aplicación simple de conjuntos con un programa. Dada una matriz, elimine todos los valores duplicados de ella. Para resolver el problema, podemos hacer uso de la propiedad set.

Veamos el paso para solucionarlo.

  • Inicialice una matriz con datos ficticios.
  • Inicializa un conjunto vacío.
  • Itere sobre la matriz de elementos.
    • Agrega todos los elementos al conjunto.
    • Eliminará los elementos duplicados automáticamente.
  • Inicializa una matriz vacía.
  • Repita el conjunto y agregue todos los elementos a la nueva matriz.
  • Imprime la nueva matriz.

Espero que puedas resolverlo tú mismo. Si le resulta difícil codificar, eche un vistazo a la solución a continuación.

const arr = ["John", "Harry", "Wick", "Jack", "Harry"];

const temp = new Set();

arr.forEach((element) => {
   temp.add(element);
});

const newArr = [];

temp.forEach((element) => {
   newArr.push(element);
});

console.log(newArr);

Para concluir

Ahora, tiene todos los conocimientos necesarios para trabajar con conjuntos en JavaScript. Puede utilizarlos en su próximo proyecto. Adelante, aproveche cada una de sus partes.

Codificación feliz 👨‍💻

Gracias a nuestros patrocinadores
Más lecturas interesantes sobre el desarrollo
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Intente Intruder