Javascript 将一个对象值用作键,以访问把手中的其他对象值
我有两个不同的对象: 1) 在global.json中Javascript 将一个对象值用作键,以访问把手中的其他对象值,javascript,arrays,json,object,handlebars.js,Javascript,Arrays,Json,Object,Handlebars.js,我有两个不同的对象: 1) 在global.json中 var objA = { "menu": { "icon": [ { "network": "mail", }, { "network": "facebook", }, { "network": "twi
var objA = {
"menu": {
"icon": [
{
"network": "mail",
},
{
"network": "facebook",
},
{
"network": "twitter",
},
{
"network": "googleplus",
}
]
}
}
2) 在index.json中
var objB = {
"facebook": {
"data": "Facebook Data",
},
"twitter": {
"data": "Twitter Data",
},
"mail": {
"data": "Mail Data",
},
"googleplus": {
"data": "GooglePlus Data",
}
}
现在我想通过使用第一个对象值作为.hbs文件中的键来访问第二个对象值,就像我们在javascript中所做的那样
例如:如果我想访问twitter数据,我将使用javascript中的以下代码来访问该数据
for(var i=0; i<objA["menu"]["icon"].length; i++){
console.log(objB[objA["menu"]["icon"][i]["network"]]["data"]);
}
for(var i=0;i我对把手一无所知,但假设它至少是一个javascript
data = objA.menu.icon.map(e=>objB[e.network])
应该满足你最后的目标愿望
var objA={
“菜单”:{
“图标”:[
{
“网络”:“邮件”,
},
{
“网络”:“facebook”,
},
{
“网络”:“推特”,
},
{
“网络”:“谷歌+”,
}
]
}
};
变量objB={
“facebook”:{
“数据”:“Facebook数据”,
},
“推特”:{
“数据”:“推特数据”,
},
“邮件”:{
“数据”:“邮件数据”,
},
“谷歌+”:{
“数据”:“Google Plus数据”,
}
};
data=objA.menu.icon.map(e=>objB[e.network])
console.log(数据);
您可以使用和内置帮助程序的组合来完成此操作。查找
作为使用变量键的一种方式,并且与
设置上下文以允许您访问每个网络对象的属性
{{{#each global.objA.menu.icon}
{{{with(lookup@root/global/objB this.network)}
{{data}}
{{/与}}
{{/每个}}
//输出(无格式)
//“邮件数据Facebook数据Twitter数据GooglePlus数据”
非常感谢@marmeladze的帮助、时间和尝试,但它不是javascript。你给出的答案不起作用。
data = objA.menu.icon.map(e=>objB[e.network])