我需要访问对象数组中的属性。我需要获取rowData,迭代元素(Foreach) 在应用程序目录数组中,选择“名称”元素,并加入自定义数组apps.name,将其分配给调查表的另一个属性,组成一个新名称,例如“ appNames”,在ag-grid标头中使用此名称。但是我以某种方式未能做到这一点,我缺少了一些东西。
我的有效载荷是:
{
"id": 1,
"firstName": "test",
"lastName": "customer",
"status": 1,
"accountType": "CUSTOMER",
"licenseType": "BASIC",
"questionnaire": {
"id": 6,
"companysize": "MICRO",
"industry": {
"id": 1,
"name": "Agriculture and Mining"
},
"language": "CZ",
"appCatalog": [
{
"appIdToSearch": 6,
"appNameDefault": "SECURITY PLUS"
},
{
"appIdToSearch": 121,
"appNameDefault": "New logo test CZ"
}
],
"customApps": [
{
"id": 16,
"name": "asd",
"enabled": false
},
{
"id": 49,
"name": "aaaaaa",
"enabled": false
}
]
}
}
以及我正在访问该对象的其他属性的代码:
{
headerName: 'First Name',
field: 'firstName',
sortable: true,
filter: true,
checkboxSelection: true,
editable: true,
resizable: true,
},
{
headerName: 'Last Name',
field: 'lastName',
sortable: true,
filter: true,
editable: true,
resizable: true,
},
{
headerName: 'Email',
field: 'email',
sortable: true,
filter: true,
editable: true,
resizable: true,
},
{
headerName: 'Phone',
field: 'phone',
sortable: true,
filter: true,
editable: true,
resizable: true
},
{
headerName: 'Employee Count',
field: 'questionnaire.companysize',
sortable: true,
filter: true,
editable: false,
resizable: true
},
{
headerName: 'Industry',
field: 'questionnaire.industry.name',
sortable: true,
filter: true,
editable: false,
resizable: true
},
{
headerName: 'Language Preference',
field: 'questionnaire.language',
sortable: true,
filter: true,
editable: false,
resizable: true,
},
{
headerName: 'Apps I am using',
field: 'AppNames',
sortable: true,
filter: true,
editable: false,
resizable: true
},
最后一个是我无法访问的那个。
此字段等于AppNames ===
appCatalog.appNameDefault
+customApps.name
但是我做不到,请问有人可以帮我!
答案 0 :(得分:1)
您可以获取costumApp的名称:
yourObject.questionnaire.appCataloge[0].forEach((item,index)=>{
//do Staff with one item there...
item.appNameDefault = item.appNameDefault+' '+yourObject.questionnaire.customApps[index].name;
});
答案 1 :(得分:1)
您可以使用数组的映射功能。
customNames = yourObject.questionnaire.customApps.map(app => appNameDefault + app.name);
customNames将包含所有customApps名称。
有关地图功能,请参见MDN文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map