使用'Number'作为Object.Keys和Increment

时间:2018-09-10 15:53:08

标签: javascript json express for-loop ejs

我需要通过Express JS路由定义中的循环来增加 Object.keys

以下代码有效,该代码是手动定义的:

 for (var i=0;i<Object.keys(setupApp.menuLink).length;i++) {
    app.get('/'+Object.values(setupApp.menuLink[i]), 
      isLoggedIn, function(req, res) {    
        res.render('main_layout.ejs', {
          head : {
            '0': Object.values(setupApp.menu)[0],
            '1': Object.values(setupApp.menu)[1],
            '2': Object.values(setupApp.menu)[2],
            '3': Object.values(setupApp.menu)[3],
          }
        });
      console.log(res.locals.linkVisited);
    });
  }

然后我像这样在EJS中启动

<h1 class="h2 text-capitalize">
   <%= head[i] %>
</h1>

但是...如何使这部分自动化:

尝试:

head : {     
  "'"+i+"'": Object.values(setupApp.menu)[i],
}

结果:

D:\NODES\5.2.3\app\routes.js:66
            "'"+i+"'": Object.values(setupApp.menu)[i],
               ^

SyntaxError: Unexpected token +

由于重复的问题怀疑而做出的回应:

关于此question,增量在 Object.values 部分中。 我的已经使用它并且可以工作了(我忘了提了)。我很难过的是要增加 Object.keys 部分。

或者问题应该是这样的: 如何在JSON格式字符串中转义Javascript变量

谢谢。

0 个答案:

没有答案