如何在JavaScript中映射嵌套数组,然后检查其中一个嵌套数组';s属性没有值?

如何在JavaScript中映射嵌套数组,然后检查其中一个嵌套数组';s属性没有值?,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我有一个对象数组,每个对象都有一个嵌套的程序数组,其中一个键名为programId [{ “roleId”:1, “代码”:“组织机构”, “parentOrgId”:空, “说明”:“授权机构代表”, “显示文本”:“授权组织代表”, “方案”:[{ “程序ID”:14, “程序名”:空, “programStatusId”:空, “programTypeId”:空, “startDate”:空, “endDate”:空, “FinancialAbraviationCode”:空, “cfd

我有一个对象数组,每个对象都有一个嵌套的
程序数组
,其中一个键名为
programId

[{
“roleId”:1,
“代码”:“组织机构”,
“parentOrgId”:空,
“说明”:“授权机构代表”,
“显示文本”:“授权组织代表”,
“方案”:[{
“程序ID”:14,
“程序名”:空,
“programStatusId”:空,
“programTypeId”:空,
“startDate”:空,
“endDate”:空,
“FinancialAbraviationCode”:空,
“cfdaNumber”:空,
“divisionDeptAcronym”:空,
“originalProgramId”:空,
“programDescription”:空,
“disasterFlag”:空,
“programOfficeId”:空,
“organizationId”:空
}]
},
{
“roleId”:1,
“代码”:“组织机构”,
“parentOrgId”:空,
“说明”:“授权机构代表”,
“显示文本”:“授权组织代表”,
“方案”:[{
“程序ID”:15,
“程序名”:空,
“programStatusId”:空,
“programTypeId”:空,
“startDate”:空,
“endDate”:空,
“FinancialAbraviationCode”:空,
“cfdaNumber”:空,
“divisionDeptAcronym”:空,
“originalProgramId”:空,
“programDescription”:空,
“disasterFlag”:空,
“programOfficeId”:空,
“organizationId”:空
}]
},
{
“roleId”:1,
“代码”:“组织机构”,
“parentOrgId”:空,
“说明”:“授权机构代表”,
“显示文本”:“授权组织代表”,
“方案”:[{
“程序ID”:17,
“程序名”:空,
“programStatusId”:空,
“programTypeId”:空,
“startDate”:空,
“endDate”:空,
“FinancialAbraviationCode”:空,
“cfdaNumber”:空,
“divisionDeptAcronym”:空,
“originalProgramId”:空,
“programDescription”:空,
“disasterFlag”:空,
“programOfficeId”:空,
“organizationId”:空
}]
},
{
“roleId”:21,
“代码”:“SUBAUTHREP”,
“parentOrgId”:“-50022”,
“说明”:“子接收方授权代表”,
“显示文本”:“子收件人授权代表”,
“方案”:[{
“程序ID”:16,
“程序名”:空,
“programStatusId”:空,
“programTypeId”:空,
“startDate”:空,
“endDate”:空,
“FinancialAbraviationCode”:空,
“cfdaNumber”:空,
“divisionDeptAcronym”:空,
“originalProgramId”:空,
“programDescription”:空,
“disasterFlag”:空,
“programOfficeId”:空,
“organizationId”:空
}]
},
]
您可以使用

演示:

let角色=[{
“roleId”:1,
“代码”:“组织机构”,
“parentOrgId”:空,
“说明”:“授权机构代表”,
“显示文本”:“授权组织代表”,
“方案”:[{
“程序ID”:14,
“程序名”:空,
“programStatusId”:空,
“programTypeId”:空,
“startDate”:空,
“endDate”:空,
“FinancialAbraviationCode”:空,
“cfdaNumber”:空,
“divisionDeptAcronym”:空,
“originalProgramId”:空,
“programDescription”:空,
“disasterFlag”:空,
“programOfficeId”:空,
“organizationId”:空
}]
},
{
“roleId”:1,
“代码”:“组织机构”,
“parentOrgId”:空,
“说明”:“授权机构代表”,
“显示文本”:“授权组织代表”,
“方案”:[{
“程序ID”:15,
“程序名”:空,
“programStatusId”:空,
“programTypeId”:空,
“startDate”:空,
“endDate”:空,
“FinancialAbraviationCode”:空,
“cfdaNumber”:空,
“divisionDeptAcronym”:空,
“originalProgramId”:空,
“programDescription”:空,
“disasterFlag”:空,
“programOfficeId”:空,
“organizationId”:空
}]
},
{
“roleId”:1,
“代码”:“组织机构”,
“parentOrgId”:空,
“说明”:“授权机构代表”,
“显示文本”:“授权组织代表”,
“方案”:[{
“程序ID”:17,
“程序名”:空,
“programStatusId”:空,
“programTypeId”:空,
“startDate”:空,
“endDate”:空,
“FinancialAbraviationCode”:空,
“cfdaNumber”:空,
“divisionDeptAcronym”:空,
“originalProgramId”:空,
“programDescription”:空,
“disasterFlag”:空,
“programOfficeId”:空,
“organizationId”:空
}]
},
{
“roleId”:21,
“代码”:“SUBAUTHREP”,
“parentOrgId”:“-50022”,
“说明”:“子接收方授权代表”,
“显示文本”:“子收件人授权代表”,
“方案”:[{
“程序ID”:16,
“程序名”:空,
“programStatusId”:空,
“programTypeId”:空,
“startDate”:空,
“endDate”:空,
“FinancialAbraviationCode”:空,
“cfdaNumber”:空,
“divisionDeptAcronym”:空,
“originalProgramId”:空,
“programDescription”:空,
“disasterFlag”:空,
“programOfficeId”:空,
“organizationId”:空
}]
},
]
让missingProgramID=roles.some({programs})=>
一些({programId}=>programId==null));
log(“缺少程序id?”,缺少程序id);
删除角色[0]。程序[0]。程序ID;
missingProgramID=角色。某些({programs})=>
一些({programId}=>programId==null));
log(“缺少程序id(删除属性后)?”,缺少程序id)您可以使用

演示:

let角色=[{
“roleId”:1,
“代码”:“组织机构”,
“parentOrgId”:空,
“说明”:“授权机构”
const missingProgramID = roles.some(({programs})=>
    programs.some(({programId})=>programId==null));
updateUser = async (selectedUser) => {
    const {roles} = selectedUser;
    const newRoles =  roles.map((role) => {
      return role.programs.map(program => program.programId || -1);
    })
    console.log(newRoles);
 };
roles.some(r => r.programs.some(p => p.programId === null))
const programsWithNullId = {};

roles.forEach(item=> item.programs.forEach((program,index) => {
if (program.programId ===null) {
programsWithNullId[`RoleID${item.roleId}atPosition${index+1}`]=program;
}
}));