假设我有这张地图:
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
有办法吗?还是其他选择?非常感激。
答案 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