Javascript 如何通过使用“属性名称”将属性名称检查到对象数组,从而从对象中指定值
我有一个对象数组,它在对象数组名Javascript 如何通过使用“属性名称”将属性名称检查到对象数组,从而从对象中指定值,javascript,angular,typescript,Javascript,Angular,Typescript,我有一个对象数组,它在对象数组名“tabList”中有“modulePermissions”属性名。我有一个对象作为“moduleName”,它包含与“modulePermissions”名称相同的值,该布尔值已被赋值。 所以现在,对于“tabList”我们需要检查“modulePermissions”值,如果“modulePermissions”值与moduleName属性名称匹配,那么moduleName`属性的布尔值将作为值分配给“tabList”“enableTabs” Ts: 我试着用
“tabList”
中有“modulePermissions”
属性名。我有一个对象作为“moduleName”
,它包含与“modulePermissions”
名称相同的值,该布尔值已被赋值。
所以现在,对于“tabList”
我们需要检查“modulePermissions”值,如果“modulePermissions”值与moduleName
属性名称匹配,那么moduleName`属性的布尔值将作为值分配给“tabList”“enableTabs”
Ts:
我试着用这样的方法:
getValue(){
for (let i = 0; i < 16; i++) {
this.tabList[i]['modulePermissions'] == userPermissions.moduleName.this.tabList[i]['modulePermissions'];
this.tabList[i]['enableTabs'] = userPermissions.moduleName.this.tabList[i]['modulePermissions']
}
}
getValue(){
for(设i=0;i<16;i++){
this.tabList[i]['modulePermissions']==userPermissions.moduleName.this.tabList[i]['modulePermissions'];
this.tabList[i]['enabletab']=userPermissions.moduleName.this.tabList[i]['modulePermissions']
}
}
我将这样做:
for ( let i = 0; i < tabList.length; i++ ) {
let module = tabList[i];
if(moduleName[module.modulePermissions] !== undefined ){
module.enableTabs = moduleName[module.modulePermissions];
}
}
for(设i=0;i
您可以使用Array.prototype.map
()迭代tabList
和Object.prototype.hasOwnProperty
()检查给定属性是否存在
像这样的方法应该会奏效:
const getModifiedTabList = () => {
return tabList.map((tabListEntry) => {
if (Object.prototype.hasOwnProperty.call(moduleName, tabListEntry.modulePermissions)){
const enableTabs = moduleName[tabListEntry.modulePermissions];
return {...tabListEntry, ...{enableTabs}}
}
return tabListEntry
})
}
PS:本例假设范围中有moduleName
和tabList
。if(moduleName[module.modulePermissions])
将不起作用,如果moduleName中的值设置为false
const getModifiedTabList = () => {
return tabList.map((tabListEntry) => {
if (Object.prototype.hasOwnProperty.call(moduleName, tabListEntry.modulePermissions)){
const enableTabs = moduleName[tabListEntry.modulePermissions];
return {...tabListEntry, ...{enableTabs}}
}
return tabListEntry
})
}