Bin*_*Cat 1 javascript json eval
对于以下JSON:
var myJSON =
{ "employee": [
{
"firstName": "John",
"lastName": "Doe",
"Age": 20
},
{
"firstName": "Jane",
"lastName": "Moe",
"Age": 35
},
{
"firstName": "Mike",
"lastName": "Poe",
"Age": 28
}
]
};
Run Code Online (Sandbox Code Playgroud)
假设我需要通过传递索引和属性名来获取特定值.例如,employee[1].lastName会给我值"Moe".但是,我有一些粗略的时间搞清楚什么是一个简单的JavaScript函数,它将这两个值作为输入并将值作为输出返回.以下代码似乎不起作用:
function getValue(index, attrName) {
var val = eval("myJSON.employee[" + index + "]." + attrName); // is using eval() even a sound approach?
return val;
}
Run Code Online (Sandbox Code Playgroud)
这应该做到这一点.
var myJSON =
{ "employee": [
{
"firstName": "John",
"lastName": "Doe",
"Age": 20
},
{
"firstName": "Jane",
"lastName": "Moe",
"Age": 35
},
{
"firstName": "Mike",
"lastName": "Poe",
"Age": 28
}
]
};
function getValue(index, attrName) {
return myJSON['employee'][index][attrName];
}
getValue(1,'lastName')
Run Code Online (Sandbox Code Playgroud)
输出:"Moe".
属性访问器var['attr']和var.attr是相同的,除了一些属性名称不能像来表达var.attr.假设您的属性名称是"foo-bar".代码var.foo-bar不正确所以你必须使用var['foo-bar'].此外,您可以使用window['var-name'].
| 归档时间: |
|
| 查看次数: |
526 次 |
| 最近记录: |