Map.delete () в JavaScript

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

Что такое карта в 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 () удаляет указанное сопоставленное значение, ключ которого передается как аргумент или итератор, или в диапазоне для удаления пар.