Reactjs 如何组合数组
我获取两个API调用Reactjs 如何组合数组,reactjs,api,react-hooks,Reactjs,Api,React Hooks,我获取两个API调用 "people": [ { "id": 1, "person": "A", "departmentId": 1, }, { "id": 2, "person": "B", "departmentId":
"people": [
{
"id": 1,
"person": "A",
"departmentId": 1,
},
{
"id": 2,
"person": "B",
"departmentId": 2,
}] ```
and second is with departments
```
"departments": [
{
"id": 1,
"departmentName": "services"
},
{
"id": 2,
"departmentName": "services2"
}]
我使用.map功能显示人员列表,我希望显示的部门不是数字,而是部门名称。我用钩子,
感谢您的帮助您正在寻找和数组方法的组合:
人=[
{
“id”:1,
“人”:“A”,
“部门ID”:1,
},
{
“id”:2,
“人”:“B”,
“部门ID”:2,
}];
部门=[
{
“id”:1,
“部门名称”:“服务”
},
{
“id”:2,
“部门名称”:“服务2”
}];
const getDepartmentName=(id)=>departments.find(dep=>dep.id==id);
constpeoplewithdepartments=people.map(p=>({…p,departmentName:getDepartmentName(p.departmentId)}));
console.log(有部门的人员)代码>我建议您在api端执行此操作,否则这是一个完成此工作的小脚本
people.map(person => {
return `${person.person} works at ${departments.find(department => department.id == person.departmentId)?.departmentName}`
})
您可以在收到后立即创建部门字典/地图,例如,部门:{1:'Dept 1',2:'Some other Dept'}
。可能我的问题不清楚:/我将如何组合这两个结果以获得部门名称而不是编号?因此,如果departmentId为2,它将通过创建一个映射来显示服务2,正如我上面解释的,您可以这样做:{people.map(p=>{p.person},{departmentMap[p.departmentId]})}
因此,时间复杂性将降低。