如何使用'getOwnPropertyNames'迭代地图的内容

时间:2017-12-06 08:47:44

标签: javascript

我在代码部分发布了下面的地图。我向地图添加了一些值,如图所示。但是当我尝试使用时显示地图的内容 'getOwnPropertyNames'如代码所示,循环中的log语句不显示任何内容。

请让我知道如何正确使用'getOwnPropertyNames'

const mymap = new Map();

const mapKeyToValue = (key, value) => {
  mymap.set(key, value);
};

const getMyMap = () => mymap;

mapKeyToValue('1', [{ 'a': 10, 'b': 100, 'c': 1000 }]);
mapKeyToValue('2', [{ 'a': 20, 'b': 200, 'c': 2000 }]);
mapKeyToValue('3', [{ 'a': 30, 'b': 300, 'c': 3000 }]);
mapKeyToValue('4', [{ 'a': 40, 'b': 400, 'c': 4000 }]);


console.log(Object.getOwnPropertyNames(mymap));//displays []

Object.getOwnPropertyNames(mymap).forEach( (v) => {
  console.log(mymap[v]);//displays nothing
});

1 个答案:

答案 0 :(得分:3)

地图没有属性(仅限于字符串和符号键)。它将元素存储在内部。要遍历Map,请使用let parseUsingSpecificProvider json (provider : JsonProvider<GENERIC>) = provider.Parse json entriesvalues或带有keys循环的隐式迭代器方法:

for … of