使用一个对象值作为密钥来访问其他对象值在车把
问题描述:
我有2个不同的对象:使用一个对象值作为密钥来访问其他对象值在车把
1)在global.json
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"]);
}
我运行每个循环中.hbs文件:
{{#each global.objA.menu.icon}}
<li>{{data}}</li>
{{/each}}
这里我想说明基于网络每个社会数据。
答
我有车把零知识,但假设它至少是一个JavaScript,
data = objA.menu.icon.map(e=>objB[e.network])
应该满足你的最后一个对象的愿望。
var objA = {
"menu": {
"icon": [
{
"network": "mail",
},
{
"network": "facebook",
},
{
"network": "twitter",
},
{
"network": "googleplus",
}
]
}
};
var objB = {
"facebook": {
"data": "Facebook Data",
},
"twitter": {
"data": "Twitter Data",
},
"mail": {
"data": "Mail Data",
},
"googleplus": {
"data": "GooglePlus Data",
}
};
data = objA.menu.icon.map(e=>objB[e.network])
console.log(data);
非常感谢你@marmeladze对你的帮助,时间和你的尝试,但它不是一个JavaScript。 您提供的答案不起作用。 –