如何在地图中获取键的大小?

时间:2017-12-03 16:34:34

标签: javascript ecmascript-6

假设我有这张地图:

var myMap = new Map();
myMap.set('0', 'foo');
myMap.set(1, 'bar');
myMap.set({}, 'baz');

var size= myMap.keys().size(); // wrong. 

console.log(size); //Looking for 3 because there are 3 keys

有办法吗?还是其他选择?非常感激。

4 个答案:

答案 0 :(得分:3)

你可以这样做:

var size = myMap.size;

答案 1 :(得分:2)

您可以阅读Map#size属性以了解项目数。

var myMap = new Map;
myMap.set('0', 'foo');
myMap.set(1, 'bar');
myMap.set({}, 'baz');

var size = myMap.size;

console.log(size); // 3
console.log([...myMap.keys()]); // get all keys

答案 2 :(得分:2)

您可以使用其尺寸属性获取地图的大小:

var size = myMap.size;

答案 3 :(得分:1)

keys()返回映射键的迭代器。它应首先迭代并转换为数组,以便知道其长度。这是不必要的,因为密钥数等于条目数,后者已知:

[...myMap.keys()].length === myMap.size