Javascript 使用';编号';作为Object.key并递增它们
我需要在Express JS路由定义中通过循环增加Object.keys 以下代码有效,这是手动定义的:Javascript 使用';编号';作为Object.key并递增它们,javascript,json,express,for-loop,ejs,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'
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);
});
}
结果:
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 +
因重复问题怀疑而作出的回应:
关于这一点,增量在Object.values部分。
而我的已经在使用它了(我忘了提到它)。我的困难在于增加Object.keys部分
或者问题应该是这样的:
如何在JSON格式字符串中转义Javascript变量
谢谢。您可以向对象添加新的参数,如head[i]=object.values(setupApp.menu)[i]如果
i
从0
开始并为每个条目递增,为什么要使用对象而不是数组?您的编辑并没有使这一点更清楚。链接副本是关于如何使用变量内容作为对象的键head:{[i]:Object.values(setupApp.menu)[i]}
将与编写{'0':Object.values(setupApp.menu)[0]}
时相同(对于i
为0
)。或者obj.header[i]=Object.values(setupApp.menu)[i]
。您是如何尝试使用[i]:Object.values(setupApp.menu)[i]
或obj.header[i]=Object.values(setupApp.menu)[i]
,显示了一个完整的示例,包括循环和res.render
D:\NODES\5.2.3\app\routes.js:66
"'"+i+"'": Object.values(setupApp.menu)[i],
^
SyntaxError: Unexpected token +