gpt4 book ai didi

javascript - 如何在javascript中的对象内部连接子对象数组?

转载 作者:行者123 更新时间:2023-12-04 02:32:37 24 4
gpt4 key购买 nike

我想在Javascript中的对象内部连接子对象数组。
我在对象内部有一个对象数组:
我想将部门子数组返回到一个对象数组。

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;

我尝试了其他脚本,但没有得到答案。
请帮助我找到解决方案。

提前致谢,

最佳答案

您只需要使用forEach循环来访问每个department数组,然后使用flat()将其设为单个一维数组

array.departsObjInput.departmentRequests.forEach(x => {
x.department = x.department.flat();
})

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",
}
]
],
}
]
}
}

array.departsObjInput.departmentRequests.forEach(x => {
x.department = x.department.flat();
})

console.log(array)

关于javascript - 如何在javascript中的对象内部连接子对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59844863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com