最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript中如何根据索引迭代两个map

网站源码admin59浏览0评论

javascript中如何根据索引迭代两个map

javascript中如何根据索引迭代两个map

我刚刚使用以下代码行在 javascript 中创建了两个地图。

let myMap = new Map();
let myMap1 = new Map();

我刚刚在各自的地图中添加了以下数据。

//以下仅为示例,实际有所不同

myMap1 = new Map([
  ['country', 'Chile'],
  ['age', 30],
]);

myMap = new Map([
  ['country', 'Austria'],
  ['age', 20],
]);

在这里保留两个地图是有原因的,因为实时地我试图从两个不同的模式中获取数据以在地图中存储两个不同的数据。

现在,我尝试按以下顺序迭代两个 Map

Iteration-1 : country, Chile, country, Austria. //Index 0 from both the maps

Iteration-2 : age, 30 , age, 20.  // Index 1 from both the maps.

我只想在单个 forEach 中迭代两个映射,我想获取索引值和键并将其传递给其他逻辑操作。

有人可以帮我解决这个问题吗?

我尝试了以下方法来迭代一个 Map 但不确定如何对两个 Map 进行迭代

myMap.forEach (function(value, key) {
                            let array = key.split(":::");
                            htmlSkelton += 
                            "<tr>"+
                            "<th scope='row'>"+(counter++) +"</th>"+
                            "<td>"+array[1]+"</td>"+
                            "<td>"+array[0]+"</td>"+
                            "<td>"+value+"</td>"+
                            "</tr>"
                          })
回答如下:

由于两个地图具有相同的键,您可以简单地迭代一个地图,并使用它的键访问另一个地图。

myMap1 = new Map([
  ['country', 'Chile'],
  ['age', 30],
]);

myMap2 = new Map([
  ['country', 'Austria'],
  ['age', 20],
]);

myMap1.forEach((v1, k) => {
  let v2 = myMap2.get(k);
  console.log(k, v1, v2);
});
发布评论

评论列表(0)

  1. 暂无评论