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