为了在 JavaScript 中获取Map的长度,我们使用它的size属性,例如 console.log(map.size)。
Map size()、set() 和 delete() 方法
Map 对象的size属性存储对象中的键值对。
当 set() 方法添加元素并 delete() 删除它们时,size 属性会相应更改。
当我们使用 set() 方法向地图添加一个新元素时,大小属性会增加 1。同样,当我们使用 delete() 从地图中删除一个元素时,大小会减少 1。
Map size与Array length
当然,映射和数组有不同的用途,但每个都有一个属性,该属性给出了它存储的项目的长度、数组的长度和映射的大小。
两者之间的一个关键区别是您可以直接更改数组的长度属性。
但是你不能对地图做同样的事情:
正如我们之前看到的,您只能使用 set() 和 delete() 等方法更改大小。
当您直接将 Array 长度更改为较小的值时,元素会被切掉。
另一方面,当您直接将数组长度更改为更大的值时,会从数组末尾添加空占位符元素:
虽然这可行,但我建议 Array splice() 从数组中删除元素,这样您就可以更好地控制删除并可以访问已删除的元素。
使用 splice() 您可以设置删除的起始索引、要删除的元素数量以及应该插入到它们位置的新元素。
使用 clear() 方法清除地图
Map clear() 方法的作用从它的名字中应该很明显; 它清除所有元素的地图:
要点总结
- 要在 JavaScript 中获取地图的长度,请使用Map对象的 size 属性。
- 当您使用 set()、delete() 或 clear() 添加或删除元素时,size会更新。
- 与数组不同,您不能直接更改Map的size。