javascript - 如何在循环(js)中从 Map(obj)获取键和值?
问题描述
我尝试在循环中从映射中获取键和值,在第二次运行中,键和值未定义。有任何想法吗?
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);
}
输出:
密钥:{{NAME}}
瓦尔:姓名
键:未定义
值:未定义
我希望它不是重复的,但我找不到我的问题的明确答案。
解决方案
您可以使用for ... of
语句迭代 map 的条目。
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);
}
推荐阅读
- angular - 使用 Angular4/bootstrap 获取切换按钮的值
- php - 使用 PHP 数组中的 optgroup 生成下拉列表
- r - 根据 tibble 的条件进行变异或过滤
- python - Python 布尔值等
- node.js - Sequelize 已创建表的关联不起作用
- css - 额外的@font-face 不起作用?404错误
- android - RxJava2 + Retrofit 2 顺序 API 调用出现错误 NetworkOnMainThreadException
- php - 加载到视图时的PHP格式化
- angular - 自定义 Angular 4 验证器取决于动态值
- azure - 在 cosmosdb 中查询子文档的成本是多少?