什麽是JavaScript中的Map?
- Map是JavaScript中的數據結構,它允許存儲[鍵,值]對,其中任何值都可以用作鍵或值。
- Map集合中的鍵和值可以是任何類型,並且如果使用集合中已存在的鍵將值添加到Map集合中,則新值將替換舊值。
- 映射對象中元素的迭代按插入順序完成,並且“for…”循環為每次迭代返回所有[鍵,值]對的數組。
JavaScript中對象與Map之間的差異
這兩種數據結構在許多方麵都是相似的,例如都使用鍵存儲值,允許使用鍵檢索這些值,刪除鍵並驗證鍵是否具有任何值。但是,JavaScript中的對象和Map之間存在相當大的差異,這使得在許多情況下使用Map成為更好,更可取的選擇。
- 映射中使用的鍵可以是任何類型的值,例如函數,對象等,而對象中的鍵則限於符號和字符串。
- 通過使用size屬性可以輕鬆知道Map的大小,但是在處理對象時,必須手動確定大小。
- 在要求涉及頻繁添加和刪除[鍵,值]對的情況下,最好使用Map,因為Map是可迭代的數據類型,可以直接迭代,而迭代對象需要以特定方式獲取其鍵。
JavaScript中的Map.clear()方法
JavaScript中的Map.clear()方法用於從Map中刪除所有元素並將其清空。它從Map中刪除所有的[鍵,值]。不需要將任何參數作為參數發送到Map.clear()方法,並且該方法返回未定義的返回值。
用法:
mapObj.clear()
Parameters Used:
No parameters are required in the Map.clear() method.返回值:
Map.clear() method has an undefined return type.
下麵提供上述函數的示例。
例子:
Input : var myMap = new Map(); myMap.set(0, 'geeksforgeeks'); console.log(myMap.size); myMap.clear(); console.log(myMap.size); Output: 1 0
說明:在此示例中,已使用單個[鍵,值]對創建了映射對象“myMap”,並且使用Map.clear()方法從“myMap”中刪除了[鍵,值]對。 myMap.size()用於檢查屬於Map對象的[鍵,值]對的數量。
Input : var myMap = new Map(); myMap.set(0, 'geeksforgeeks'); myMap.set(1, 'is an online portal'); myMap.set(2, 'for geeks'); console.log(myMap.size); myMap.clear(); console.log(myMap.size); Output : 3 0
說明:在此示例中,已使用三個[鍵,值]對創建了映射對象“myMap”,並且使用Map.clear()方法從“myMap”中刪除了所有的[鍵,值]對。 myMap.size()用於檢查屬於Map對象的[鍵,值]對的數量。
下麵提供了上述函數的代碼。
代碼1:
<script>
// creating a map object
var myMap = new Map();
// Adding [key, value] pair to the map
myMap.set(0, 'geeksforgeeks');
// displaying the number of
// [key, value] pairs the map has
document.write(myMap.size);
document.write("<br>");
// removing the [key, value] pairs of
// the map using Map.clear() method
myMap.clear();
// displaying the number of
// [key, value] pairs the map has
document.write(myMap.size);
</script> s
輸出:
1 0
代碼2:
<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');
// displaying the number of
// [key, value] pairs the map has
document.write(myMap.size);
document.write("<br>");
// removing the [key, value] pairs
// of the map using Map.clear() method
myMap.clear();
// displaying the number of
// [key, value] pairs the map has
document.write(myMap.size);
< /script>
輸出:
3 0
應用範圍:
- Map.clear()方法用於刪除Map的所有[鍵,值]對。
讓我們看一個JavaScript程序:
<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');
// displaying the number of
// [key, value] pairs the map has
document.write(myMap.size);
document.write("<br>");
// removing the [key, value] pairs of
// the map using Map.clear() method
myMap.clear();
// displaying the number of
// [key, value] pairs the map has
document.write(myMap.size);
<script>
輸出:
2 0
異常:
- 如果變量不是Map類型,則Map.entries()操作將引發TypeError。
參考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map/clear
注:本文由純淨天空篩選整理自Shubrodeep Banerjee大神的英文原創作品 Map.clear() In JavaScript。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。