我有一个看起来像这样的2个数组:
vars arrayVars = ["s", "p", "o"]
arrayBindings = [ {
"s": { "type": "uri" , "value": "http://ss.ldm.io/" } ,
"p": { "type": "uri" , "value": "http://xmlns.com/foaf/0.1/name" } ,
"o": { "type": "literal" , "value": "ss" }
} ,
{
"s": { "type": "uri" , "value": "http://ss.ldm.io/" } ,
"p": { "type": "uri" , "value": "http://xmlns.com/foaf/0.1/img" } ,
"o": { "type": "uri" , "value": "http://fbcdn-sphotos-d-a.akamaihd.net/o.jpg" }
},
...
]
我希望能够基于第一个参数动态地导航
arrayBindings
,基本上是:arrayBindings[0].s.value
使我得到"http://ss.ldm.io/"
,但这样做的方式却像arrayBindings[0].arrayVars[0].value
一样,但无法正常工作。 最佳答案
这是[]标记派上用场的地方:
arrayBindings[0][arrayVars[0]].value
var arrayVars = ["s", "p", "o"]
var arrayBindings = [ {
"s": { "type": "uri" , "value": "http://ss.ldm.io/" } ,
"p": { "type": "uri" , "value": "http://xmlns.com/foaf/0.1/name" } ,
"o": { "type": "literal" , "value": "ss" }
} ,
{
"s": { "type": "uri" , "value": "http://ss.ldm.io/" } ,
"p": { "type": "uri" , "value": "http://xmlns.com/foaf/0.1/img" } ,
"o": { "type": "uri" , "value": "http://fbcdn-sphotos-d-a.akamaihd.net/o.jpg" }
},
]
document.write(arrayBindings[0][arrayVars[0]].value);