Map.delete () в JavaScript
Что такое карта в JavaScript?
- Карта - это структура данных в JavaScript, которая позволяет хранить пары [ключ, значение], где любое значение может использоваться как ключ или значение.
- Ключи и значения в коллекции карт могут быть любого типа, и если значение добавляется в коллекцию карт с использованием ключа, который уже существует в коллекции, то новое значение заменяет старое значение.
- Итерация элементов в объекте карты выполняется в порядке вставки, а цикл «for…» возвращает массив всех пар [ключ, значение] для каждой итерации.
Различия между объектами и картами в JavaScript
Обе эти структуры данных во многом схожи, например, обе хранят значения с помощью ключей, позволяют извлекать эти значения с помощью ключей, удалять ключи и проверять, содержит ли ключ какое-либо значение или нет. Однако между объектами и картами в JavaScript есть довольно существенные различия, которые во многих случаях делают использование карт лучшим и предпочтительным вариантом.
- Ключи, используемые в картах, могут быть любого типа значений, таких как функции, объекты и т. Д., Тогда как ключи в объектах ограничены символами и строками.
- Размер карты можно легко узнать с помощью свойства size, но при работе с объектами размер необходимо определять вручную.
- Карта должна быть предпочтительнее в случаях, когда требование включает частое добавление и удаление пар [ключ, значение], потому что карта является итеративным типом данных и может подвергаться прямой итерации, тогда как итерация объекта требует получения его ключей определенным образом.
Метод Map.delete () в JavaScript
Метод Map.delete () в JavaScript используется для удаления указанного элемента среди всех элементов, присутствующих на карте.
Метод Map.delete () принимает ключ, который необходимо удалить с карты, таким образом удаляет элемент, связанный с этим ключом, и возвращает истину. Если ключ отсутствует, возвращается false.
Приложения:
- Map.delete () используется для удаления элемента, связанного с ключом, среди всех элементов, присутствующих на карте.
Синтаксис:
my_map.delete (ключ)
Parameters Used:
- key: The element associated with this key is to be removed from the map
Return value:
- The Map.delete() method returns true, if the key is present whose associated element is to removed which is passed as an argument, otherwise returns false.
Примеры:
Вход: my_map.set (1, 'первый'); my_map.set (2, 'второй'); my_map.set (3, 'третий'); my_map.set (4, 'четвертый'); документ.write (my_map.delete (3)); Выход: правда
Объяснение: Ключ '3' присутствует на карте, поэтому связанный с ним элемент удаляется и возвращает истину.
Вход: my_map.set (1, 'первый'); my_map.set (2, 'второй'); my_map.set (3, 'третий'); my_map.set (4, 'четвертый'); документ.write (my_map.delete (5)); Выход: ложь
Объяснение: Ключ «5» отсутствует на карте, поэтому он возвращает false.
Код 1:
<script> // creating a map object var my_map = new Map(); // Adding [key, value] pair to the map my_map.set(1, 'first' ); my_map.set(2, 'second' ); my_map.set(3, 'third' ); my_map.set(4, 'fourth' ); // will display true as key '3' // is present and its associated // element is removed as well document.write(my_map. delete (3), "</br>" , "</br>" ); // elements left in the map after deletion document.write( "key-value pair of the map" , " after deletion-" , "</br>" ); my_map.forEach( function (item, key, mapObj) { document.write(key.toString(), ":" , " " ,item.toString() + "<br />" ); }); </script> |
Выход:
правда пара ключ-значение карты после удаления - 1: первый 2: второй 4: четвертый
Код 2:
<script> // creating a map object var my_map = new Map(); // Adding [key, value] pair to the map my_map.set(1, 'first' ); my_map.set(2, 'second' ); my_map.set(3, 'third' ); my_map.set(4, 'fourth' ); // will display false as key '5' // is not present and its associated // element is removed as well document.write(my_map. delete (5), "</br>" , "</br>" ); // elements left in the map after deletion document.write( "key-value pair of the map" , " after deletion-" , "</br>" ); my_map.forEach( function (item, key, mapObj) { document.write(key.toString(), ":" , " " , item.toString() + "<br />" ); }); </script> |
Выход:
ложный пара ключ-значение карты после удаления - 1: первый 2: второй 3: третий 4: четвертый
- Ошибка и исключение:
- Если ключ, переданный в качестве аргумента функции, отсутствует на карте, он возвращает false. По сути, он не генерирует никаких исключений и не содержит ошибок.
Разница в работе Map.clear (), Map.erase () и этой функции
Map.clear () удаляет все пары ключ-значение карты и уменьшает размер карты до нуля. В то время как Map.erase () удаляет указанное сопоставленное значение, ключ которого передается как аргумент или итератор, или в диапазоне для удаления пар.