我有一个类似的JSON对象;
var data = {
Name : "test name",
Type : "test type",
VendorInfo :{
FirstName : "Vendor First Name",
LastName : "Vendor Last Name",
Address : "Vendor Address",
City : "Vendor City",
ZipCode : "Zip"
}
}
现在,我想单独保留关于如何访问数据var 中的字段的信息
var accessInfo=[
{ fieldName : "Name", actionName : "Edit" },
{ fieldName : "Type", actionName : "Edit" },
:
:etc..
]
现在,在我的javascript中,我可以通过for循环对accessInfo数组进行迭代,类似于;
for(var i=0;i<accessInfo.length;i++){
data[accessInfo[i].fieldName] = "changed field";
}
这适用于顶级字段,但我不知道如何访问层次结构中较低级别的字段。。类似数据。供应商信息。第一个名称,数据。VendorInfo.LastName等
这有可能吗?我试着输入"VendorInfo.FirstName"和[VendorInfo][FirstName],但没有成功。。
您只需要解析访问规范即可遍历目标对象。你可以使用这样的功能:
function getProp(obj, propName) {
var prop;
var props = propName.split('.');
for (var i = 0; i < props.length; i++) {
prop = obj[props[i]];
if (typeof prop === 'null' || typeof prop === 'undefined') return prop;
}
return prop;
}