如何使用 'getOwnPropertyNames' 遍历地图的内容
how to use 'getOwnPropertyNames' to iterate through contents of a map
我在下面的代码部分发布了地图。当我尝试使用显示地图的内容时,我向地图添加了一些值作为 shown.But
'getOwnPropertyNames'如代码所示,循环中的日志语句没有显示任何东西。
请告诉我如何正确使用 '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
});
地图没有属性(仅限于字符串和符号键)。它将其元素存储在内部。要遍历 Map
,请使用其 entries
、values
、keys
或带有 for … of
循环的隐式迭代器方法:
for (const [key, value] of mymap) {
console.log(key, value);
}
我在下面的代码部分发布了地图。当我尝试使用显示地图的内容时,我向地图添加了一些值作为 shown.But 'getOwnPropertyNames'如代码所示,循环中的日志语句没有显示任何东西。
请告诉我如何正确使用 '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
});
地图没有属性(仅限于字符串和符号键)。它将其元素存储在内部。要遍历 Map
,请使用其 entries
、values
、keys
或带有 for … of
循环的隐式迭代器方法:
for (const [key, value] of mymap) {
console.log(key, value);
}