Un Conjunto en JavaScript es un tipo especial de objeto que almacena distintos elementos. El conjunto puede almacenar tanto elementos primitivos como objetos. Al iterar sobre el objeto establecido, devuelve los elementos en el mismo orden en que se insertaron.
En este artículo veremos cómo ordenar el Conjunto según el valor de los elementos. Una forma de lograr el objetivo es usar la función sort() incorporada. Pero, la función sort() no se puede implementar directamente en el set, sino:
- Generaremos un contenedor de array utilizando los elementos almacenados en el conjunto.
- Luego, ejecutaremos la función sort() en la array.
- Borraremos todo el conjunto y almacenaremos los elementos almacenados en la array recién ordenada.
Como el conjunto devuelve elementos en el mismo orden en que se insertaron, ahora se ordenará todo el conjunto.
Una cosa a tener en cuenta es que aquí en este artículo ordenaremos el conjunto en orden ascendente, pero el orden de clasificación se puede ajustar según las necesidades implementando la lógica de clasificación. Ahora veremos diferentes enfoques para generar arreglos para lograr nuestro propósito.
Enfoque 1. Iteración manual sobre el conjunto: en este enfoque, iteraremos sobre el conjunto manualmente e insertaremos elementos del conjunto en una nueva array que está a punto de ordenarse según nuestras necesidades.
Sintaxis:
# myset is the set under consideration for this article let myarr = []; for (let element of myset) { // Set elements pushed into the array myarr.push(element); } # myArray consists of the elements of the set myArray.sort()
Ejemplo:
JavaScript
<script> // Initialize a Set object // using Set() constructor let myset = new Set() // Insert new elements in the // set using add() method myset.add(3); myset.add(2); myset.add(9); myset.add(6); // Print the values stored in set console.log(myset); // Create a new array to store set elements let myarr = []; for (let element of myset) { // Set elements pushed into the array myarr.push(element); } // Print the values stored in Array console.log(myarr); // Sort the array (default it will sort // elements in ascending order) myarr.sort() // Clear the entire set using clear() method myset.clear() for (let element of myarr) { // Array elements pushed into the set myset.add(element); } // Print the values stored in set console.log(myset); </script>
Producción:
Set(4) { 3, 2, 9, 6 } [ 3, 2, 9, 6 ] Set(4) { 2, 3, 6, 9 }
Enfoque 2. Usando el método Array.from(): Una forma de generar la array es usar el método Array.from() integrado que creará una array a partir de los elementos del conjunto. Para saber más sobre el método, sigue este enlace.
Sintaxis:
# myset is the set under consideration for this article myArray = Array.from(myset) myArray.sort()
Ejemplo:
JavaScript
<script> // Initialize a Set object // using Set() constructor let myset = new Set() // Insert new elements in the // set using add() method myset.add(3); myset.add(2); myset.add(9); myset.add(6); // Print the values stored in set console.log(myset); // Create a new array to store set elements let myarr = []; for (let element of myset) { // Set elements pushed into the array myarr.push(element); } // Print the values stored in Array console.log(myarr); // Sort the array (default it will sort // elements in ascending order) myarr.sort() // Clear the entire set using clear() method myset.clear() for (let element of myarr) { // Array elements pushed into the set myset.add(element); } // Print the values stored in set console.log(myset); </script>
Producción:
Set(4) { 3, 2, 9, 6 } [ 3, 2, 9, 6 ] Set(4) { 2, 3, 6, 9 }
Publicación traducida automáticamente
Artículo escrito por shinjanpatra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA