我正在调用我的 api,它返回如下对象数组。如何访问如下 json 中的数组对象数组我想使用 typsecript 找出当 EmpId 为 102 时 roleid =2 的角色。>
0- {
EmpId: 101,
EmpName:'abc'
Role :
0- {roleid :1,
role:Admin,
isdeletee:true},
1- {roleid :2,
role:user,
isdeletee:true},
2- {roleid :3, role :Admin,
isdeletee:true}
}
1- {
EmpId: 102,
EmpName:'xyz'
Role :
0- {roleid :1,
role:Admin,
isdeletee:true},
1- {roleid :2,
role:user,
isdeletee:true},
2- {roleid :3, role :Admin,
isdeletee:true}
}
2- {
EmpId: 103,
EmpName:'xez'
Role :
0- {roleid :21,
role:userx,
isdeletee:true},
1- {roleid :2,
role:user,
isdeletee:true},
2- {roleid :31, role :ad,
isdeletee:true}
},
答案 0 :(得分:0)
很难准确地理解你想从你的问题中得到什么。 你在寻找这样的东西吗?它只是一个示例,我会在实际使用中添加空检查。
const response = [{
EmpId: 101,
EmpName: "abc",
Role: [{
roleid: 1,
role: "Admin",
isdeletee: true
},
{
roleid: 2,
role: "user",
isdeletee: true
},
{
roleid: 3,
role: "Admin",
isdeletee: true
},
],
},
{
EmpId: 102,
EmpName: "xyz",
Role: [{
roleid: 1,
role: "Admin",
isdeletee: true
},
{
roleid: 2,
role: "user",
isdeletee: true
},
{
roleid: 3,
role: "Admin",
isdeletee: true
},
],
},
{
EmpId: 103,
EmpName: "xez",
Role: [{
roleid: 21,
role: "userx",
isdeletee: true
},
{
roleid: 2,
role: "user",
isdeletee: true
},
{
roleid: 31,
role: "ad",
isdeletee: true
},
],
},
];
const role = response
.filter((emp) => emp.EmpId === 102)[0]
.Role
.filter((roles) => roles.roleid === 2)[0]
.role;
console.log(role);