当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Javascript Map.delete()用法及代码示例


什么是JavaScript中的Map?

  • Map是JavaScript中的数据结构,它允许存储[键,值]对,其中任何值都可以用作键或值。
  • map集合中的键和值可以是任何类型,并且如果使用集合中已存在的键将值添加到map集合中,则新值将替换旧值。
  • 映射对象中元素的迭代按插入顺序完成,并且“for…”循环为每次迭代返回所有[键,值]对的数组。

JavaScript中对象与Map之间的区别
这两种数据结构在许多方面都是相似的,例如都使用键存储值,允许使用键检索这些值,删除键并验证键是否具有任何值。但是,JavaScript中的对象和Map之间存在相当大的差异,这使得在许多情况下使用Map成为更好,更可取的选择。

  • 映射中使用的键可以是任何类型的值,例如函数,对象等,而对象中的键则限于符号和字符串。
  • 通过使用size属性可以轻松知道Map的大小,但是在处理对象时,必须手动确定大小。
  • 在要求涉及频繁添加和删除[键,值]对的情况下,最好使用Map,因为map是一种迭代数据类型,可以直接迭代,而迭代对象需要以特定方式获取其键。

JavaScript中的Map.delete()方法
JavaScript中的Map.delete()方法用于删除Map中存在的所有元素中的指定元素。


Map.delete()方法获取需要从映射中删除的键,从而删除与该键关联的元素并返回true。如果 key 不存在,则返回false。

应用范围:

  • Map.delete()用于删除Map中存在的所有元素中与键关联的元素。

用法:

my_map.delete(key)

Parameters Used:

  • key: 与此键关联的元素将从Map中删除

返回值:

  • 如果存在要删除其关联元素的键(作为参数传递),则Map.delete()方法返回true。否则返回false。

例子:

Input: my_map.set(1, 'first');
         my_map.set(2, 'second');
         my_map.set(3,'third');
         my_map.set(4,'fourth');

         document.write(my_map.delete(3));

Output:true

说明:键“ 3”出现在Map中,因此与之关联的元素被删除并返回true

Input: my_map.set(1, 'first');
         my_map.set(2, 'second');
         my_map.set(3,'third');
         my_map.set(4,'fourth');
   
         document.write(my_map.delete(5));

Output:false

说明:键“ 5”在Map中不存在,因此返回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>                        

输出:

true

key-value pair of the map after deletion-
1:first
2:second
4:fourth

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

输出:

false

key-value pair of the map after deletion-
1:first
2:second
3:third
4:fourth
    错误和异常:
  • 如果作为参数传递给函数的键在映射中不存在,则返回false。本质上,它既不会引发任何异常,也不会有任何错误。

Map.clear(),Map.erase()和此函数在工作上的差异
Map.clear()删除Map的所有键-值对,并将Map的大小减小为零。而Map.erase()删除指定的映射值,其键作为参数或迭代器或在范围内传递以删除对。




注:本文由纯净天空筛选整理自akash1295大神的英文原创作品 Map.delete() In JavaScript。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。