Map.entries () в JavaScript
Что такое карта в 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