Mapa en JavaScript es un tipo especial de objeto que almacena elementos en términos de par [clave, valor] . El mapa puede almacenar tanto elementos primitivos como objetos. Al iterar sobre el objeto del mapa, devuelve el par [clave, valor] en el mismo orden en que se insertó.
En este artículo, veremos cómo ordenar el Mapa según el valor de las claves. Una forma de lograr este objetivo es utilizar la función de clasificación() incorporada disponible en JavaScript en la array multidimensional creada con la ayuda de la desestructuración de la array del objeto generado por el método Map.entries() .
Sintaxis:
[...map1.entries()] # this will generate a multi-dimensional array # out of the key-value pairs stored in the map
Ahora ordenaremos esta array en orden creciente usando la función de clasificación , por defecto ordenará la array de acuerdo con los valores crecientes de los primeros elementos almacenados en las arrays.
[...map1.entries()].sort()
Entendamos usando ejemplos.
Ejemplo 1: En este ejemplo, estamos ordenando el mapa por los valores crecientes de las claves.
Javascript
<script> // Initializing and inserting values into Map let map1 = new Map([ [4, 2], [2, 3], ]); // Inserting new element into map using set() method map1.set(3, 10); document.write("Our map :", "</br>"); document.write(map1, "</br>"); // Adding the sorting logic map1 = new Map([...map1.entries()].sort()); // Separately printing only keys for (let [key, value] of map1) { document.write(key, " "); } </script>
Producción:
Our map : Map(3) { 4 => 2, 2 => 3, 3 => 10 } 2 3 4
Ejemplo 2: En este ejemplo, estamos ordenando el mapa por los valores decrecientes de las claves.
Javascript
<script> let map1 = new Map([ [4, 2], [2, 3], ]); // Inserting new element into map using set() method map1.set(3, 10); document.write("Our map :", "</br>"); document.write(map1, "</br>"); // Adding the custom sorting logic to sort // by decreasing values of keys map1 = new Map([...map1.entries()].sort((a, b) => b[0] - a[0])); // Separately printing only keys for (let [key, value] of map1) { document.write(key, " "); } </script>
Producción:
Our map : Map(3) { 4 => 2, 2 => 3, 3 => 10 } 4 3 2
Publicación traducida automáticamente
Artículo escrito por shinjanpatra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA