在我的项目中,我必须将 Javascript 对象转换为名为mapResults的Map对象。经过一些转换(切掉前两个值)后,我现在想遍历这个集合以使用以下语法呈现一些列表项。
- {键1}:{值1}
- {键2}:{值2}
问题是我还有一个名为resultsKey的数组,其中包含我想用作每个列表项的 {keys} 的字符串。所以,假设我的 Map 对象和我的字符串数组如下所示:
mapResults =
0: gameStatus -> "You Won!"
1: difficulty -> "Intermediate"
2: movesCount -> 13
resultsKey = [
"Final result",
"Level",
"Number of movements",
]
现在我想遍历这两个集合以获得所需的列表项输出:
- 最终结果:你赢了!
列表项的每个键都取自我的 resultsKey 数组,每个值都取自我的 mapResults 对象。两个系列的长度/大小相同。
我知道如果我有一个 Object 对象(将其命名为objectResults)而不是 Map 对象,我可以通过在 Object 上调用 Object.keys() 来实现这一点,然后在结果数组上调用 .map() 或 forEach() (让我们称之为objectResultsKeys)像这样:
objectResultsKeys.map((key, index)=>{
return <li>
{resultsKey[index]}:{objectResults[key]}
</li>
})
这里的问题是,如果我遇到这种情况,我将能够使用 .map() 函数提供的索引参数来访问 resultsKey 字符串数组并获得我想要的值。但是在迭代 Map 对象时没有这样的事情。
所以我想知道是否有任何解决方案可以为我提供索引值,我可以在迭代 Map 对象时使用它来访问我的字符串数组。或者,如果有任何其他解决方案可以实现与我所解释的结果类似的结果。我不得不为此解决方案使用 Map 对象。