Map.entries () в JavaScript

Опубликовано: 14 Декабря, 2021

Что такое карта в JavaScript?

  • Карта - это структура данных в JavaScript, которая позволяет хранить пары [ключ, значение], где любое значение может использоваться как ключ или значение.
  • Ключи и значения в коллекции карт могут быть любого типа, и если значение добавляется в коллекцию карт с использованием ключа, который уже существует в коллекции, то новое значение заменяет старое значение.
  • Итерация элементов в объекте карты выполняется в порядке вставки, а цикл «for…» возвращает массив всех пар [ключ, значение] для каждой итерации.

Различия между объектами и картами в JavaScript
Обе эти структуры данных во многом схожи, например, обе хранят значения с помощью ключей, позволяют извлекать эти значения с помощью ключей, удалять ключи и проверять, содержит ли ключ какое-либо значение или нет. Однако между объектами и картами в JavaScript есть довольно существенные различия, которые во многих случаях делают использование карт лучшим и предпочтительным вариантом.

  • Ключи, используемые в картах, могут быть любого типа значений, таких как функции, объекты и т. Д., Тогда как ключи в объектах ограничены символами и строками.
  • Размер карты можно легко узнать с помощью свойства size, но при работе с объектами размер необходимо определять вручную.
  • Карта должна быть предпочтительнее в случаях, когда требование включает частое добавление и удаление пар [ключ, значение], потому что карта является итеративным типом данных и может подвергаться прямой итерации, тогда как итерация объекта требует получения его ключей определенным образом.

Метод Map.entries () в JavaScript
Метод Map.entries () в JavaScript используется для возврата объекта итератора, который содержит все пары [ключ, значение] каждого элемента карты. Он возвращает пары [ключ, значение] всех элементов карты в порядке их вставки.
Метод Map.entries () не требует передачи аргументов и возвращает объект-итератор карты.
Приложения:
Всякий раз, когда мы хотим получить все пары [ключ, значение] каждого элемента карты с помощью объекта-итератора, мы используем метод Map.entries ().
Синтаксис:

 mapObj.entries ()

Parameters Used:

  • It does not require any parameters to be passed.

Return Value:

  • The Map.entries() method returns the [key, value] pairs of all the elements of a map in the order of their insertion.

Примеры вышеупомянутой функции приведены ниже.

Пример:

Ввод: var myMap = new Map ();
        myMap.set (0, 'geeksforgeeks');
        myMap.set (1, 'это онлайн-портал');
        myMap.set (2, 'для вундеркиндов');
        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>»);


Вывод: Массив [0, "geeksforgeeks"]
         Массив [1, «это онлайн-портал»]
         Массив [2, "для компьютерных фанатов"]

Объяснение: В этом примере объект карты «myMap» был создан с тремя парами [ключ, значение] и создан метод объекта-итератора «iterator_obj», который использует метод Map.entries () для возврата [ключ, значение] пары всех элементов карты в порядке их вставки.

Код 1:

<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>

Выход :

     Массив [0, "geeksforgeeks"]
     Массив [1, «это онлайн-портал»]
     Массив [2, "для компьютерных фанатов"]

Код 2:

<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>

Выход :

     Массив [0, «Карты»]
     Массив [1, "в JavaScript"]

Исключения:

  • Если переменная не относится к типу Map, тогда операция Map.entries () выдает ошибку TypeError.
  • Если «iterator_obj.next (). Value» используется большее количество раз по сравнению с парами [ключ, значение] карты, функция Map.entries () возвращает undefined для всех этих случаев.

Ссылка: https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/entries