如何在javascript中在对象内部构造子对象数组?
我想在javascript中concat对象内部的子对象数组。 我在一个对象中有一个对象数组: 我想将department子数组返回到一个对象数组中如何在javascript中在对象内部构造子对象数组?,javascript,arrays,concat,Javascript,Arrays,Concat,我想在javascript中concat对象内部的子对象数组。 我在一个对象中有一个对象数组: 我想将department子数组返回到一个对象数组中 var array = { "departsObjInput": { "departmentRequests": [ { "department": [ [ { "grou
var array =
{
"departsObjInput": {
"departmentRequests": [
{
"department": [
[
{
"groupID": "20",
"groupName": "Group20",
"requestDate": "2020-01-21",
"deptStatus": "PENDING"
},
{
"groupID": "21",
"groupName": "Group21",
"requestDate": "2020-01-21",
"deptStatus": "PENDING"
},
{
"groupID": "24",
"groupName": "Group24",
"requestDate": "2020-01-21",
"deptStatus": "PENDING"
}
],
[
{
"groupID": "18",
"groupName": "Group18",
"requestDate": "2020-01-21",
"deptStatus": "PENDING"
},
{
"groupID": "26",
"groupName": "Group26",
"requestDate": "2020-01-21",
"deptStatus": "PENDING"
}
]
]
},
{
"department": [
[
{
"groupID": "90",
"groupName": "Group90",
"requestDate": "2020-01-21",
"deptStatus": "PENDING",
},
{
"groupID": "38",
"groupName": "Group38",
"requestDate": "2020-01-21",
"deptStatus": "PENDING",
}
],
[
{
"groupID": "37",
"groupName": "Group37",
"requestDate": "2020-01-21",
"deptStatus": "PENDING",
}
]
],
}
]
}
}
我希望了解部门的子数组,如:
{
"departsObjInput": {
"departmentRequests": [
{
"department":
[
{
"groupID": "20",
"groupName": "Group20",
"requestDate": "2020-01-21",
"deptStatus": "PENDING"
},
{
"groupID": "21",
"groupName": "Group21",
"requestDate": "2020-01-21",
"deptStatus": "PENDING"
},
{
"groupID": "24",
"groupName": "Group24",
"requestDate": "2020-01-21",
"deptStatus": "PENDING"
},
{
"groupID": "18",
"groupName": "Group18",
"requestDate": "2020-01-21",
"deptStatus": "PENDING"
},
{
"groupID": "26",
"groupName": "Group26",
"requestDate": "2020-01-21",
"deptStatus": "PENDING"
}
]
},
{
"department":
[
{
"groupID": "90",
"groupName": "Group90",
"requestDate": "2020-01-21",
"deptStatus": "PENDING",
},
{
"groupID": "38",
"groupName": "Group38",
"requestDate": "2020-01-21",
"deptStatus": "PENDING",
},
{
"groupID": "37",
"groupName": "Group37",
"requestDate": "2020-01-21",
"deptStatus": "PENDING",
}
]
,
}
]
}
}
我试图:
var deptItem = array.departsObjInput.departmentRequests
var merged = [].concat.apply([], deptItem);
return merged;
我试过其他的Scriptp,但我找不到答案。
请帮我找到解决办法
提前感谢,数组位于
数组中。departsObjInput.departmentRequests.department
而departmentRequests
是一个数组,需要对其进行索引
array.departsObjInput.departmentRequests[i].department = [].concat(...array.departsObjInput.departmentRequests[i].department);
数组位于
数组中。departsObjInput.departmentRequests.department
而departmentRequests
是一个数组,需要对其进行索引
array.departsObjInput.departmentRequests[i].department = [].concat(...array.departsObjInput.departmentRequests[i].department);
您只需使用
forEach
循环访问每个部门
数组,然后使用flat()将其设置为单个1D数组
var数组=
{
“输出”:{
“部门请求”:[
{
“部门”:[
[
{
“groupID”:“20”,
“groupName”:“Group20”,
“请求日期”:“2020-01-21”,
“部门状态”:“待定”
},
{
“groupID”:“21”,
“groupName”:“Group21”,
“请求日期”:“2020-01-21”,
“部门状态”:“待定”
},
{
“groupID”:“24”,
“groupName”:“Group24”,
“请求日期”:“2020-01-21”,
“部门状态”:“待定”
}
],
[
{
“groupID”:“18”,
“groupName”:“Group18”,
“请求日期”:“2020-01-21”,
“部门状态”:“待定”
},
{
“groupID”:“26”,
“groupName”:“Group26”,
“请求日期”:“2020-01-21”,
“部门状态”:“待定”
}
]
]
},
{
“部门”:[
[
{
“groupID”:“90”,
“groupName”:“Group90”,
“请求日期”:“2020-01-21”,
“deptStatus”:“待定”,
},
{
“groupID”:“38”,
“groupName”:“Group38”,
“请求日期”:“2020-01-21”,
“deptStatus”:“待定”,
}
],
[
{
“groupID”:“37”,
“groupName”:“Group37”,
“请求日期”:“2020-01-21”,
“deptStatus”:“待定”,
}
]
],
}
]
}
}
array.departsObjInput.departmentRequests.forEach(x=>{
x、 department=x.department.flat();
})
console.log(数组)
您只需使用forEach
循环访问每个部门
数组,然后使用flat()将其设置为单个1D数组
var数组=
{
“输出”:{
“部门请求”:[
{
“部门”:[
[
{
“groupID”:“20”,
“groupName”:“Group20”,
“请求日期”:“2020-01-21”,
“部门状态”:“待定”
},
{
“groupID”:“21”,
“groupName”:“Group21”,
“请求日期”:“2020-01-21”,
“部门状态”:“待定”
},
{
“groupID”:“24”,
“groupName”:“Group24”,
“请求日期”:“2020-01-21”,
“部门状态”:“待定”
}
],
[
{
“groupID”:“18”,
“groupName”:“Group18”,
“请求日期”:“2020-01-21”,
“部门状态”:“待定”
},
{
“groupID”:“26”,
“groupName”:“Group26”,
“请求日期”:“2020-01-21”,
“部门状态”:“待定”
}
]
]
},
{
“部门”:[
[
{
“groupID”:“90”,
“groupName”:“Group90”,
“请求日期”:“2020-01-21”,
“deptStatus”:“待定”,
},
{
“groupID”:“38”,
“groupName”:“Group38”,
“请求日期”:“2020-01-21”,
“deptStatus”:“待定”,
}
],
[
{
“groupID”:“37”,
“groupName”:“Group37”,
“请求日期”:“2020-01-21”,
“deptStatus”:“待定”,
}
]
],
}
]
}
}
array.departsObjInput.departmentRequests.forEach(x=>{
x、 department=x.department.flat();
})
console.log(array)
Sirarray.departsObjInput.departmentRequests
是一个数组,您需要在其中循环。谢谢您的回答!Sirarray.departsObjInput.departmentRequests
是一个数组,您需要在其中循环。谢谢您的回答!