如何迭代哈巴狗中的地图

How to iterate over a map in pug

我有一张地图要传递给服务器上的哈巴狗,但我无法遍历地图中的键值对以在地图中呈现数据。我已经尝试简化地图,但仍然无法正常工作。

router.get('url', middlware(),(req,res)=>{
  let renderData = {};
  renderData.test = new Map([["1","one"],["2","two"]]);
  res.render('template', renderData);
})

模板:

block content
  .container
    .mt-3.whiteBG
      each item in test
        p here is some text

在简化版本中,我什至无法渲染纯文本,更不用说在迭代中访问地图的值了。如果我这样做 p #{test.get("1")},我就可以访问这些值 地图在 Pug 中是不可迭代的吗?如果没有,我有办法将我的地图转换成 Pug 可以迭代的 array/object 吗?

帕格会 support iteration over ES6 collections in the next release. Until then, you can convert the Map to an object using Object.fromEntries():

renderData.test = Object.fromEntries(renderData.test);