javascript - 如何在循环(js)中从Map(obj)获取键和值?

标签 javascript

我尝试在循环中从映射中获取键和值,在第二次运行中键和值未定义。有什么想法吗?

let map = new Map();
map.set('{{NAME}}', 'Name');
map.set('{{CLASS}}', 'Sorc');

let keyIterator = map.keys();
let valIterator = map.values();
let counter = map.size;

for (let i = 0; i < counter; i++){
  console.log('Key: ' + keyIterator.next().value);
  console.log('Val: ' + valIterator.next().value);
}

输出:

key :{{NAME}}

Val:名称

键:未定义

Val:未定义

我希望它不是重复的,但我找不到我的问题的明确答案。

最佳答案

您可以使用 for ... of 语句迭代映射的条目。

let map = new Map();
map.set('{{NAME}}', 'Name');
map.set('{{CLASS}}', 'Sorc');


for (let [k, v] of map) {
    console.log('Key: ' + k);
    console.log('Val: ' + v);
}

关于javascript - 如何在循环(js)中从Map(obj)获取键和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51823528/

相关文章:

javascript - 在不使用内联匿名函数的情况下在 JavaScript 中使用 setInterval

javascript - 传单中的标记,单击事件

javascript - 为什么这个 HTML5 Canvas 不显示?

javascript - jQuery AJAX 后的重定向问题

javascript - 如何获取要粘贴到我的 html 文本编辑器中的文本?

javascript - jQuery "Chosen"过滤事件?

javascript - 如何设计放大的ajax弹出窗口的样式

javascript - 按键数组过滤 javascript map 对象

javascript - 为什么我的请求和响应消息不按顺序排列?

javascript - 抽搐机器人的冷却时间