Map.entries() en JavaScript

¿Qué es un mapa en JavaScript?

  • El mapa es una estructura de datos en JavaScript que permite el almacenamiento de pares [clave, valor] donde cualquier valor puede usarse como clave o valor.
  • Las claves y valores en la colección de mapas pueden ser de cualquier tipo y si se agrega un valor a la colección de mapas utilizando una clave que ya existe en la colección, entonces el nuevo valor reemplaza al valor anterior.
  • La iteración de elementos en un objeto de mapa se realiza en el orden de inserción y un bucle «for…» devuelve una array de todos los pares [clave, valor] para cada iteración.

Diferencias entre objetos y mapas en JavaScript Ambas estructuras de datos son similares en muchos aspectos, como almacenar valores usando claves, permitir la recuperación de esos valores usando claves, eliminar claves y verificar si una clave contiene algún valor o no. Sin embargo, existen diferencias bastante significativas entre Objetos y Mapas en JavaScript que hacen que el uso de mapas sea una opción mejor y más preferible en muchos casos.

  • Las claves utilizadas en los mapas pueden ser cualquier tipo de valores, como funciones, objetos, etc., mientras que las claves de los objetos se limitan a símbolos y strings.
  • El tamaño de un mapa se puede conocer fácilmente utilizando la propiedad de tamaño, pero al tratar con objetos, el tamaño debe determinarse manualmente.
  • Se debe preferir un mapa en los casos en que el requisito implique la adición y eliminación frecuentes de pares [clave, valor] porque un mapa es un tipo de datos iterativo y se puede iterar directamente, mientras que iterar un objeto requiere obtener sus claves de una manera específica.

Método Map.entries() en JavaScript El método Map.entries() en JavaScript se utiliza para devolver un objeto iterador que contiene todos los pares [clave, valor] de cada elemento del mapa. Devuelve los pares [clave, valor] de todos los elementos de un mapa en el orden de su inserción. El método Map.entries() no requiere que se pase ningún argumento y devuelve un objeto iterador del mapa. 

Aplicaciones: Siempre que queramos obtener todos los pares [clave, valor] de cada elemento de un mapa usando un objeto iterador, usamos el método Map.entries(). 

Sintaxis:

mapObj.entries()

Parámetros utilizados: 

  • No requiere pasar ningún parámetro.

Valor devuelto: 

  • El método Map.entries() devuelve los pares [clave, valor] de todos los elementos de un mapa en el orden de su inserción.

A continuación se proporcionan ejemplos de la función anterior. Ejemplo:

Input : var myMap = new Map();
        myMap.set(0, 'geeksforgeeks');
        myMap.set(1, 'is an online portal');
        myMap.set(2, 'for geeks');
        var iterator_obj=myMap.entries();
        document.write(iterator_obj.next().value,"<br>");
        document.write(iterator_obj.next().value,"<br>");
        document.write(iterator_obj.next().value,"<br>");


Output : Array [0, "geeksforgeeks"]
         Array [1, "is an online portal"]
         Array [2, "for geeks"]

Explicación: En este ejemplo, se ha creado un objeto de mapa «myMap» con tres pares [clave, valor] y se crea un método de objeto iterador «iterator_obj» que utiliza el método Map.entries() para devolver [clave, valor] pares de todos los elementos de un mapa en el orden de su inserción. 

Código 1: 

javascript

<script>
    // creating a map object
    var myMap = new Map();
 
// Adding [key, value] pair to the map
myMap.set(0, 'geeksforgeeks');
myMap.set(1, 'is an online portal');
myMap.set(2, 'for geeks');
 
// creating an iterator object using Map.entries() method
var iterator_obj = myMap.entries();
 
// displaying the [key, value] pairs of all the elements of the map
document.write(iterator_obj.next().value,"</br>");
document.write(iterator_obj.next().value,"</br>");
document.write(iterator_obj.next().value,"</br>");
 
</script>                   

Producción:

     Array [0, "geeksforgeeks"]
     Array [1, "is an online portal"]
     Array [2, "for geeks"]

Código 2: 

javascript

<script>
    // creating a map object
    var myMap = new Map();
 
// Adding [key, value] pair to the map
myMap.set(0, 'Maps');
myMap.set(1, 'in JavaScript');
 
// creating an iterator object using Map.entries() method
var iterator_obj = myMap.entries();
 
// displaying the [key, value] pairs of all the elements of the map
document.write(iterator_obj.next().value,"</br>");
document.write(iterator_obj.next().value,"</br>");
 
</script>                   

Producción:

     Array [0, "Maps"]
     Array [1, "in JavaScript"]

Excepciones:

  • Si la variable no es del tipo Map, la operación Map.entries() genera un TypeError.
  • Si el «iterator_obj.next().value» se usa más veces en comparación con los pares [clave, valor] de un mapa, la función Map.entries() devuelve undefined para todos esos casos.

Navegadores compatibles:

  • Google Chrome 38 y superior
  • Borde 12 y superior
  • Firefox 20 y superior
  • Ópera 25 y superior
  • Safari 8 y superior

Referencia: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries

Publicación traducida automáticamente

Artículo escrito por Shubrodeep Banerjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *