當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。