什么是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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。